Rails:具有条件必填字段的表单

时间:2013-03-06 11:44:14

标签: ruby-on-rails forms haml

我对RoR比较陌生。我在haml中获得了以下来源

= form.text_field :country, 'Country'
= form.text_field :state, 'State', :placeholder => 'optional'

但是:州提交的文件不是完全可选的,只有当用户是非美国用户时才可选,如果他/她的国家=='美国',则必须填写该字段。

1 个答案:

答案 0 :(得分:2)

为什么不尝试,

在你的情况下,

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 %>

上面只是一个获得想法的例子..因为我不知道存储在哪个变量中的国家值。