我对RoR比较陌生.我在haml中获得了以下源代码
= form.text_field :country, 'Country'
= form.text_field :state, 'State', :placeholder => 'optional'
但是:状态提交不是完全可选的,只有当用户是非美国用户时才可选,如果他/她的国家==’美国’,则必须填写该字段.
最佳答案 为什么不试试,
在你的情况下,
HAML是基于缩进的,解析器可能很棘手.你不需要在Haml中使用“ – end”.改为使用缩进.在Haml中,只要在Ruby评估命令之后增加缩进,就会开始一个块.它在缩进减少时结束.如果否则阻塞如下.
- if country != 'USA' # change country variable to your country value variable
= form.text_field :state, 'State', :placeholder => 'optional'
- else
= form.text_field :state, 'State', :placeholder => 'Mandatory'
如果你想只使用IF条件,
- if country != 'USA' # change country variable to your country value variable
= form.text_field :state, 'State', :placeholder => 'optional'
在正常的ruby表单代码中,
<% if @country == 'USA' %> # change @country variable to your country value variable
<%= form.text_field :state, 'State', :placeholder => 'Mandatory' %>
<% else %>
<%= form.text_field :state, 'State', :placeholder => 'optional' %>
<% end %>
上面只是一个得到这个想法的例子..因为我不知道存储在哪个变量中的国家值.