3
我对RoR比较陌生。我有以下来源HAMLRails:有条件需求字段的形式
= form.text_field :country, 'Country'
= form.text_field :state, 'State', :placeholder => 'optional'
但:申请状态是不完全可选的,它是只有当用户的非美国用户,可选的,如果他/她的国家==“USA”,该场必须成为必需。
我对RoR比较陌生。我有以下来源HAMLRails:有条件需求字段的形式
= form.text_field :country, 'Country'
= form.text_field :state, 'State', :placeholder => 'optional'
但:申请状态是不完全可选的,它是只有当用户的非美国用户,可选的,如果他/她的国家==“USA”,该场必须成为必需。
为什么不尝试,
在你的情况,
HAML是基于压痕,解析器可以tricky.You不需要使用 - 在Haml的“结束”。而不是使用缩进。在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'
在正常红宝石形式的代码,
<% 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 %>
以上只是一个例子,明白我的意思..因为我不知道存储在哪个变量中的国家值。