2013-01-09 62 views
1

我在我的Rails應用程序中有兩個字段:languageword。單詞表是相當大的,因此我希望通過選擇語言來篩選選擇。以下是編輯視圖中的代碼,您可以看到我在第二個collection_select中的語言中是如何硬編碼的。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

假設包含的字段的對象是文:

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