1

我的 Rails 应用程序中有两个字段:languageword。单词表非常大,因此我希望通过语言选择过滤选择。下面是编辑视图中的代码,您可以在第二个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 的 collection_select 字段

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

4

1 回答 1

1

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

= f.select :word_id, Word.where(:language_id => @article.language_id).map {|w| [w.name, w.id]}
于 2013-01-09T15:17:06.800 回答