我有一个使用语义_form_for标签的编辑页面
<%= semantic_form_for @photog do |f| %>
表单变得很长,我想将其分解为多个部分,以使视图更易读。
我正在尝试在edit.html.erb模板中创建局部变量,例如
<%= render 'favorite_things', locals: {f: f} %>
这段代码中断了对#<#:0x007ff5a110abf0>的未定义局部变量或方法'f'的声明
我需要了解如何传递f对象,以便局部对象可以读取它以及类似f.input的工作
<!-- favorite things partial -->
<div class='edit_photog_header'>A List Of Your Favorites</div>
<%= f.input :fav_lens, :label => "Lens" %>
<%= f.input :fav_camera, :label => "Camera" %>
[and so on]
谢谢
locals
适用于使用时render partial
。
<%= render partial: path_to_partial, locals: locals_hash %>
如果您只是使用render
,则应执行以下操作:
<%= render path_to_view, locals_hash %>
您的情况是:
<%= render 'favorite_things', f: f %>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句