haml为输入字段赋值

时间:2017-09-21 13:31:15

标签: ruby-on-rails ruby input haml

当控制器的字段不为空时,我试图在输入字段中插入一个值。

%input{:name => "user[email]", :placeholder => "Email", :type => "email", :value => @params[:user][:email] if @params[:user] && @params[:user][:email]}/

这就是我想要做的事情,但显然我遇到了错误:

syntax error, unexpected modifier_if, expecting ')'
e => @params[:user][:email] if @params[:user] && @params[:us
                 ^
/xxx/xxx/xxx syntax error, 
unexpected ')', expecting keyword_end
@params[:user][:email])).to_s);; _hamlout.buffer << (">\n<in
                  ^

我应该修改什么才能使其正常工作?

提前致谢:)

1 个答案:

答案 0 :(得分:4)

您需要将条件值括在括号(...)

试试这个

%input{:name => "user[email]", :placeholder => "Email", :type => "email", 
       :value => (@params[:user][:email] if @params[:user] && @params[:user][:email])}