如果您对Rails:请求src的turbo-frame解释为format.html感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于Rails:请求src的turbo-fram
如果您对Rails:请求 src 的 turbo-frame 解释为 format.html感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于Rails:请求 src 的 turbo-frame 解释为 format.html的详细内容,我们还将为您解答请求js的相关问题,并且为您提供关于html Frame、Iframe、Frameset 的区别 _HTML/Xhtml_网页制作、html – js / iframes:强制iframe重新加载、html – Rails form_tag没有显示、html – Rails:form_for复选框设置为true或false,是否选中/取消选中该框的有价值信息。
本文目录一览:- Rails:请求 src 的 turbo-frame 解释为 format.html(请求js)
- html Frame、Iframe、Frameset 的区别 _HTML/Xhtml_网页制作
- html – js / iframes:强制iframe重新加载
- html – Rails form_tag没有显示
- html – Rails:form_for复选框设置为true或false,是否选中/取消选中该框
Rails:请求 src 的 turbo-frame 解释为 format.html(请求js)
如何解决Rails:请求 src 的 turbo-frame 解释为 format.html?
我注意到通过 src
属性设置延迟加载 turbo 帧的这种奇怪行为:
nav
= turbo_frame_tag ''primary_menu'',src: primary_menu_path
: def primary_menu
: respond_to do |format|
: format.turbo_stream
> : format.html { binding.pry ; render plain: ''should not reach this block'' }
: end
: end
)> turbo_frame_request?
=> true
出于某种原因,它被解释为常规请求的 html 请求,尽管
turbo_frame_request?
返回 => true
。是什么原因造成的以及如何解决?
附言primary_menu.turbo_stream.slim
存在于该控制器操作中。
本地版本:
hotwire-rails 0.1.3
@hotwired/turbo-rails 7.0.0-beta.5
解决方法
在更了解 turbo
内部原理的人对其进行正确解释之前,以下是一种对我有用的方法:
<%= turbo_frame_tag ''primary_menu'',src: primary_menu_path %>
将被解释为 HTML 请求:
def primary_menu
# load your thing
respond_to do |format|
format.html
end
end
在您的 primary_menu.html.erb
中,请确保使用 <%= turbo_frame_tag ''primary_menu'' do %>
块包装您的内容。
请记住:
-
turbo_frame_tag
名称必须在此处与其原始定义/要求匹配。 - 该响应中任何额外的
turbo_frame_tag
包装块都将被静默忽略。
html Frame、Iframe、Frameset 的区别 _HTML/Xhtml_网页制作
10.4.1 Frameset与Frame的区别
首先讲解Frameset与Frame之间的区别。
在上面的例子当中,
把页面分为左右两个部分,左侧框架中的页面是admin_left.htm,右侧框架中的页面是admin_center.htm。注意:标记的框架顺序为从左至右或从上到下。
两者的差别如下:
●
为框架标记,说明该网页文档为框架组成,并设定文档中组成框架集的框架的布局。● 用以设置组成框架集中各个框架的属性。
10.4.2 Frameset参数设置
关于上段代码的各项参数设置及其含义如表10.3所示。
表10.3 Frameset参数
参 数
说 明
Border
设定框架的边框厚度,以pixels为单位
frameborder
设定是否显示框架的边框,0为不显示,1为显示
FrameSpacing
表示框架与框架之间的距离
BorderColor
设定框架的边框颜色
Row
将文档分为上下的框架,Row后的值可以为数值或百分数,*表示占用余下的空间,数值的个数代表水平分成的框架个数,例如Rows=“210,*,10%”,表示页面分为上中下三个框架页,上边的框架占用210px,下边的框架占用整个文档的10%,余下的空间为中间的框架占用。*是一个相对的概念,例如Row=*,表示页面中没有上下结构的框架布局
Cols
设置同Row
10.4.3 Frame参数设置
关于Frame参数的设置,代码如下:
如表10.4所示。
表10.4 Frame参数
参 数
说 明
Name
设定框架的名称,须为英文
Src
设置框架中显示的页面路径和名称,可为相对路径亦可为绝对路径
Marginwidth
表示框架距离左右边缘的距离
Marginheight
表示框架距离上下边缘的距离
Scrollling
设置是否在框架中显示滚动条,yes为显示,no为不显示,auto表示当框架页中内容超过框架的大小时自动显示滚动条
Frameborder
设置是否显示框架的边框,0为不显示,1为显示
Noresize
设定是否可以让使用者改变这个框架的大小,不设置此项可以让浏览者任意拉动框架,改变框架的大小
Framespacing
表示框架与框架之间的距离
Bordercolor
设定框架的边框颜色
10.4.4 Frame与Iframe的区别
Frame与Iframe两者可以实现的功能基本相同,不过Iframe比Frame具有更多的灵活性。
Iframe标记又叫浮动帧标记,可以用它将一个HTML文档嵌入在一个HTML中显示。它和Frame标记的最大区别是在网页中嵌入的所包含的内容与整个页面是一个整体,而所包含的内容是一个独立的个体,是可以独立显示的。另外,应用Iframe还可以在同一个页面中多次显示同一内容,而不必重复这段内容的代码。
如图10.21所示的页面就是应用Iframe在页面上下各创建了分页的链接,上下的代码是一样的,只需在网页中嵌入同一个文件即可,不需要重复代码的编写,本案例的实际效果参看配书光盘中的案例/frame/iframe/see_infomore_iframe.htm。
10.4.5 设置Iframe透明
Iframe还有一个更大的好处,就是可以设置框架透明,让框架内的背景和主页面背景一样。在上例操作中,细心的读者会发现这个问题,下面来详细说明如何设置Iframe透明。具体操作步骤如下:
(1)打开配书光盘中的案例/frame/iframe/see_infomore_iframe1.htm。
(2)在浏览器中浏览该页文件,发现在插入Iframe的区域将原来单元格的背景覆盖了,这不是想要的效果。
(3)打开page.htm页面,切换到代码视图,在
标记中插入代码如下:图10.21 应用Iframe创建翻页
(4)切换see_infomore_iframe1.htm到代码视图,查看页面插入Iframe的单元格的代码如下:
(5)在
上段代码的各项参数设置及其含义
allowTransparency="true"
(6)此时插入Iframe的单元格代码如下:
(7)保存page.htm和see_infomore_iframe1.htm两个页面,在浏览器中浏览效果。
html – js / iframes:强制iframe重新加载
解决方法
iframe.src = "testpage.html?reload="+Math.random();#
或者雅各布建议,当前的时间戳(消除重复的可能性):
iframe.src = "testpage.html?reload="+(new Date()).getTime();
html – Rails form_tag没有显示
这看起来很棒但是,我的表格标签似乎不起作用.这是我的HTML代码!
表单标签甚至都没有显示出来.
<h1>Listing applications</h1> <% form_tag applications_path do %> <p> <%= text_field_tag :search %> <%= submit_tag "Search" %> </p> <% end %> <table> <tr> <th>Name</th> <th>Enviroment</th> <th>Applicationurl</th> <th>Server</th> <th>Additional Servers</th> <th></th> <th></th> <th></th> </tr> <% @applications.each do |application| %> <tr> <td><%= application.name %></td> <td><%= application.date %></td> <td><%= application.size %></td> <td><%= application.author %></td> <td><%= application.addi_servers %></td> <td><%= link_to 'Show',application %></td> <td><%= link_to 'Edit',edit_application_path(application) %></td> <td><%= link_to 'Destroy',application,confirm: 'Are you sure?',method: :delete %></td> </tr> <% end %> </table> <br /> <%= link_to 'New Application',new_application_path %>
我只有一个模型,“应用程序”
解决方法
<%= form_tag("/search",:method => "get") do %> <%= label_tag(:q,"Search for:") %> <%= text_field_tag(:q) %> <%= submit_tag("Search") %> <% end %>
html – Rails:form_for复选框设置为true或false,是否选中/取消选中该框
<%= form_for(@user) do |f| %> <div> <%= f.label :email %> <br /> <%= f.text_area :email %> <br /> </div> <div> <%= f.label :cell %> <br /> <%= f.text_area :cell %> <br /> </div> <div> <%= f.label "Get Email" %> <br /> <%= f.check_Box :send_email,{},true,false %> <br /> </div> <div> <%= f.label "Get Text" %> <br /> <%= f.check_Box :send_text,false %> <br /> </div> <div> <%= f.submit "Submit",class: "button small radius" %> <%= link_to "go back",@user,class: "button small radius secondary" %> </div> <% end %>
这里是user_controller的更新操作
def update @user = User.find(params[:id]) @user.update_attributes(params[:user]) redirect_to @user end
表单和更新看起来完全可以正常工作,但是当我提交此表单时,send_email或send_text框被选中,它不会将用户模型的属性(send_email,send_text)更改为false
解决方法
<div> <%= f.label "Get Email" %> <br /> <%= f.check_Box :send_email %> <br /> </div>
所有这些都应该按照你的期望开始工作。如果属性为true,复选框将被勾选,反之亦然,当您提交表单时会影响该属性。其余的代码很好。
今天关于Rails:请求 src 的 turbo-frame 解释为 format.html和请求js的分享就到这里,希望大家有所收获,若想了解更多关于html Frame、Iframe、Frameset 的区别 _HTML/Xhtml_网页制作、html – js / iframes:强制iframe重新加载、html – Rails form_tag没有显示、html – Rails:form_for复选框设置为true或false,是否选中/取消选中该框等相关知识,可以在本站进行查询。
本文标签: