我需要在HAML中切换表单声明。
- if params[:action] == 'tomato'
= form_for @request, :url => 'request/tomato' do |f|
- else
= form_for @request do |f|
= f.text_field ... # form content
= f.text_field # don't work too
但是我不能使用end
将表单声明与表单内容分开,所以我得到500内部服务器错误
我怎样才能实现这个目标?
答案 0 :(得分:3)
试试这个
- args = params[:action] == "tomato" ? {:url => 'request/tomato'} : {}
= form_for @request, args do |f|
= f.text_field :field_one
= f.text_field :field_two
答案 1 :(得分:2)
由于Haml处理缩进,因此在If之后不需要End语句。
确保您的'if'和'else'对齐,并将正确缩进后的任何内容放入其中。