haml将值分配给输入字段

Sno*_*bie 2 ruby haml ruby-on-rails input

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

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

那就是我想要做的,但是显然我遇到了一个错误:

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
                  ^
Run Code Online (Sandbox Code Playgroud)

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

提前致谢 :)

Dee*_*ale 6

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

尝试这个

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