我的表单中有两个不同的字段,如下所示。
<div class="field">
<%= f.label :Master_Survey %><br/>
<%= f.select :master_survey, Condition::MasterSurvey.all.map{|e| [e.Master_Survey_Code]}, { :prompt => 'Please Select' } %>
</div>
<div class="field">
<%= f.label :Element_Code %><br/>
<%= f.select :Element_Code, Condition::Element.all.map{|e| [e.Element, e.Element_Code]}, { :prompt => 'Please Select' } %>
</div>
我希望第二个字段应该被禁用,除非第一个字段被选中。第二个字段Element code
应根据所选的第一个字段Master Survey
更改值。我在Master Survey Code
表格中有一个Elements
。
答案 0 :(得分:1)
如果这两个模型通过has_many/belongs_to
或类似的方式相关,那么最好的选择是使用grouped_collection_select
方法进行下拉。这将把你的下拉组织成一个标签列表(使用optgroup),然后做一些jQuery魔术,让2个下拉选择动态和链接!
Ryan Bates有RailsCast,详细解释了如何做到这一点。如果您没有专业订阅RailsCasts,我强烈建议您购买一个,这样您就可以轻松找到如何做这样的事情:)
希望这能指出你正确的方向!