2013-01-09 3 views
1

У меня есть два поля в приложении Rails: Язык и Слово. Таблица слов довольно велика, и поэтому я хотел бы, чтобы выбор был отфильтрован по выбору языка. Ниже приведен код из edit, и вы можете видеть, как я записал жесткий код на втором языке 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]} 
Смежные вопросы