ruby-on-rails - Ruby on Rails 将引用传递给 yield(模板)

标签 ruby-on-rails ruby reference block yield

长话短说:我的每个选项卡都有自己的表单,所以我决定制作一个布局,并将表单本身作为布局的可变内容。

但我需要在布局中使用 form_for,而不是在每个表单中都使用它,因为布局中还有一些其他常见的表单元素。

那么如何将表单构建器的引用 f 传递给模板呢?

布局代码:

<% content_for(:content) do %>
  <%= form_for current_form do |f| %>
    <%= yield %>
    <%= f.submit "Submit" %>
  <% end %>
<% end %>

这可能吗?

P.S 找到这个:DRYing up a helper: wrap form_for and access local form variable (@rubish 的回答),但是 <%= yield f %>似乎没有工作, f 仍然未定义 View 。

最佳答案

为什么不为选项卡制作一个通用模板(不是布局),并为每个选项卡的内容使用部分模板?

然后你可以这样做:

<%= render :partial => @tab_name, :locals => {:form => f} %>

关于ruby-on-rails - Ruby on Rails 将引用传递给 yield(模板),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12598203/

相关文章:

c++ - 了解引用与指针。为什么这行得通?

c# - 何时复制 C# 值/对象,何时复制其引用?

Python 列表和 foreach 访问(在内置列表中查找/替换)

ruby-on-rails - Rails 中远程 ajax 调用中的图标标记 <i>

ruby-on-rails - 如何根据连接表按频率获取 ActiveRecord 对象列表

ruby-on-rails - 如何使用 sublime 在终端上运行 ruby

ruby - Rally Ruby API - 向 'description' 字段添加换行符

ruby-on-rails - 使用哈希数组我需要比较两个值

ruby-on-rails - Rails link_to tag 带有样式字形的标签

ruby-on-rails - Rails 在使用单个资源更新时没有路由匹配 POST url