我有一个数组
ABC = ["A","B","C"]
<%= f.select :abc, model::ABC, :include_blank => true %>
如果我选择C,那么我想显示“city”和“state”的输入字段。否则,应隐藏这些字段。有没有简单的方法来做到这一点。我不想使用jQuery或Ajax。
答案 0 :(得分:0)
我不知道如何在不使用javascript的情况下更改显示哪些字段。
您可以做的是始终显示城市和州字段,但只有在选择菜单设置为C时才需要它们。例如,如果选择菜单设置为C,则定义需要字段的验证规则。你的lib /目录,make require_if_c_validator.rb
class RequireIfCValidator < ActiveModel::EachValidator
def validate_each object, attribute, value
if object.your_attribute_name == 'C' && value == nil
object.errors[attribute] < 'is required'
end
end
end
然后在您的模型中,将其称为城市和州:
validate :city, :require_if_c => true
validate :state, :require_if_c => true