GVKun编程网logo

Rails:请求 src 的 turbo-frame 解释为 format.html(请求js)

10

如果您对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)

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_网页制作

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重新加载

html – js / iframes:强制iframe重新加载

如何强制iframe重新加载而不从缓存加载?

解决方法

要强制每次重新加载,请在其URL中添加随机GET参数:

iframe.src = "testpage.html?reload="+Math.random();#

或者雅各布建议,当前的时间戳(消除重复的可能性):

iframe.src = "testpage.html?reload="+(new Date()).getTime();

html – Rails form_tag没有显示

html – Rails form_tag没有显示

我正在按照这个简单的教程 http://railscasts.com/episodes/37-simple-search-form
这看起来很棒但是,我的表格标签似乎不起作用.这是我的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 %>

我只有一个模型,“应用程序”

解决方法

根据 guide,你需要a = before form_tag
<%= 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,是否选中/取消选中该框

html – Rails:form_for复选框设置为true或false,是否选中/取消选中该框

我有一个名为users的模型,它具有2个布尔属性send_email和send_text。我有一个窗体编辑用户模型,我希望它将这些属性设置为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

解决方法

当您的表单对对象进行操作时,Rails会为您执行此操作,只需将所有额外的东西从标签中移除:
<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,是否选中/取消选中该框等相关知识,可以在本站进行查询。

本文标签: