Ajax_indicator
закроется через 10 сек Frontend_notifier_close_notification_ico
На сервере произошла ошибка. Мы уже уведомлены об этом и скоро разберемся.
Мы учим полезным скиллам
Вы не залогинены. Чтобы быстро подписываться на интересующие разделы и задавать вопросы в Q/A вам нужно войти или зарегистрироваться.

Ruby On Rails -> вопросы

Upvote Upvote_done
0
Downvote Downvote_done

Динамические select'ы в RoR из базы данных

задал aay 3 месяца назад
Прочитал много статей, но так и не получилось сделать динамические селекты, использу jQuery
Могли бы привезти пример кода, с пояснениями. Интересует и контроллер и отображения и сам код в файле "...js.coffee"?
У меня ассоциация has_many belong_to, т.е. выбирая, например, телевизор Panasonik, в следующем select'e появлялись только модели этой марки.
Пробывал делать так:class Cattkanvert < ActiveRecord::Base
attr_accessible :title, :price
has_many   :items
belongs_to :cattipvert
end      
class Cattipvert < ActiveRecord::Base
attr_accessible :title
has_many :items
has_many :cattkanverts
end
Представление:
<td><%= f.label :cattipvert_id, 'Тип'%></td>
<td><%= f.collection_select :cattipvert_id, Cattipvert.order(:title), :id, :title, include_blank: true%></td>
<td><%= f.label :cattkanvert_id, 'Ткань'%></td>
<td><%= f.grouped_collection_select :cattkanvert_id, Cattipvert.order(:title), :cattkanverts, :title, :id, :title, include_blank: true%></td>

и item.js.coffeejQuery ->
$('#item_cattkanvert_id').parent().hide()
cattkanverts = $('#item_cattipvert_id').html()
$('#item_cattipvert_id').change ->
cattipvert = $('#item_cattipvert_id :selected').text()
escaped_cattipvert = cattipvert.replace(/([ #;&,.+*~\':"!^$[\]()=>|\/@])/g, '\\$1')
options = $(cattkanverts).filter("optgroup[label='#{escaped_cattipvert}']").html()
if options
$('#item_cattkanvert_id').html(options)
$('#item_cattkanvert_id').parent().show()
else
$('#item_cattkanvert_id').empty()
$('#item_cattkanvert_id').parent().hide()
Делал из примера railscasts.com, где ошибка?в браузере выдает:SQLite3::SQLException: no such column: cattkanverts.cattipvert_id: SELECT "cattkanverts".* FROM "cattkanverts"  WHERE "cattkanverts"."cattipvert_id" = 2
Пока еще никто не оставил ответа на этот вопрос.
Преждем чем вы сможете написать ответ, вы должны зарегистрироваться или войти.

Ответы: