我在rails视图页面中有一个文本字段标记。现在它写得像这样..
<% if params[:action]== "edit" %>
<%= f.text_field :id, class: 'form-control', disabled: true %>
<% else %>
<%= f.text_field :id, class: 'form-control', disabled: false %>
<% end %>
我可以用一行来写这个......比如
<%= f.text_field :id, class: 'form-control', disabled: (if params[:action]=="edit")?true:false %>
我知道这不对。请纠正我。
答案 0 :(得分:5)
试试这个:
<%= f.text_field :id, class: 'form-control', disabled: (params[:action] == 'edit') %>
params[:action] == 'edit'
已经返回true
或false
。
答案 1 :(得分:2)
你关闭了。试试这个:
<%= f.text_field :id, class: 'form-control', disabled: (params[:action] == "edit" ? true : false) %>
括号/括号需要包含整个条件语句。这样就会评估语句,只返回true
或false
。
backpackernh的解决方案更好 - 它一起摆脱了三元声明:
<%= f.text_field :id, class: 'form-control', disabled: (params[:action] == "edit") %>