长话短说:我的每个选项卡都有自己的表单,所以我决定制作一个布局,并将表单本身作为布局的可变内容。
但我需要在布局中使用 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/