Rails:依赖collection_select字段

时间:2013-01-09 13:12:02

标签: ruby-on-rails

我的Rails应用程序中有两个字段:语言。单词表格非常大,因此我希望通过选择语言来筛选选择。以下是编辑视图中的代码,您可以在第二个 collection_select 中查看我在语言中的硬编码方式。

.field
  = f.label :language_id
  = f.collection_select :language_id, Language.find(:all,:conditions => ["supported = 't'"]),:id,:language_code, include_blank: false, :title => 'Language'
.field
  = f.label :word
  = f.collection_select :word_id, Word.find(:all,:conditions => ["language_id = 2"]), :id, :word, include_blank: false, :title => 'Word'

在SO上发布了类似的问题,但提供的解决方案是使用AJAX。我宁愿在用户选择语言后通过添加条件来减少数据库负载。 Rails dependent collection_select fields in form

Rails代码是否可以评估:language_id 的选择值?

1 个答案:

答案 0 :(得分:1)

假设包含字段的对象是Article:

= f.select :word_id, Word.where(:language_id => @article.language_id).map {|w| [w.name, w.id]}