ruby-on-rails - rails : Form with conditional required field

标签 ruby-on-rails forms haml

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

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

但是 :state 字段并不是完全可选的,只有当用户是非美国用户时才可选,如果他/她的国家=='美国',则该字段必须成为必需的。

最佳答案

何不努力,

在你的情况下,

HAML 是基于缩进的,解析器可能很棘手。您不需要在 Haml 中使用“-end”。改用缩进。在 Haml 中,每当在 Ruby 求值命令之后增加缩进时,就会开始一个块。当缩进减少时结束。示例 if else 块如下。

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

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

关于ruby-on-rails - rails : Form with conditional required field,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15246465/

相关文章:

ruby-on-rails - 在使用 Pow 和 Nginx 开发的 Rails 4 中,文件上传不起作用

ruby-on-rails - 使用 Rails Assets 管道时包括图像宽度和高度

javascript - 为什么在表单 ajax 提交上调用其他 ajax 函数?

ruby-on-rails - 如何在 Slim 模板内访问 CoffeeScript 引擎中的实例变量

jquery - 如何为我的下拉框激活 selected()

ruby-on-rails - 永久重定向异常 : aws-sdk s3 Rails 5

ruby-on-rails - 有没有办法db :seed only one table in Rails?

html - 标签之间持续存在不需要的空间

html - Angular 形式在表格中不起作用

Ruby:循环哈希并检查键是否存在以确定要显示的标记和数据