【发布时间】:2014-03-16 05:26:16
【问题描述】:
我正在尝试在创建新条目时删除我的一个表单,该表单有时具有附加字段(用于嵌套模型),但在执行更新时不需要这些字段。因此,我试图通过一个块传递额外的字段,但表单对象没有被正确传递。
有没有办法将表单对象(或任何变量)传递给yield?
示例代码供参考:
_form.slim
= nested_form_for @model do |f|
.row
= f.label :name
= f.text_field :name, autofocus: true
...
= yield
...
= f.submit 'Save'
new.html.slim
== render layout: 'model/form' do
h3 Additional Fields
= f.fields_for :nested do |h|
= a.label :name, 'Nested Name'
= a.text_field :name
= a.link_to_remove do
= fa_icon 'times-circle-o'
= f.link_to_add "Add another nested model", :nested
edit.html.slim
== render layout: 'model/form'
【问题讨论】:
-
我有点困惑,你为什么要在在你的视图中渲染布局?你不应该渲染局部吗?
-
我开始尝试使用 partials 来做这件事,但它不起作用,所以我尝试关注这个帖子:stackoverflow.com/questions/2951105/…
-
嗯,这个问题已经 4 岁了,我不确定这是否真的有用。就个人而言,我只是使用局部变量,并传入像
additional_fields这样的局部变量,然后以局部变量的形式执行条件,并且仅在additional_fields为真时显示其他字段。
标签: ruby-on-rails ruby-on-rails-4