我想将我的表单的= f.submit
部分放在页脚部分中,但是我收到了错误:
响应中的NameError#new
未定义的局部变量或
的方法'f'#<#Class<Class:0x00007fcd80439d10>:0x00007fcd804314d0>
您在下面的代码示例中会推荐哪些更改?
%body
%main
= yield
%footer
= render partial: 'layouts/footer', locals: { f: f } # <-- this line errors
= form_for @response do |f|
= f.text_field :answer
= f.submit
答案 0 :(得分:0)
如果你想分享这样的元素,可以使用content_for
和yield
,如下所示:
# _footer.haml
= yield :footer_content
然后在你的模板文件中:
# new.haml
= form_for @object, id: 'form1' do |f|
# form elements goes here
= content_for :footer_content do
%button{:onclick => "document.getElementById('form1').submit()"}
由于按钮位于表单之外,您需要添加该自定义JS以正确提交表单。
希望这有帮助。