У меня есть вход f.select в моем приложении Rails, который исходит из этого вспомогательного метода.F.select ввод не сохраняет значение при редактировании
def option_groups_from_collection_for_select(collection, group_method, group_label_method, option_key_method, option_value_method)
collection.map do |group|
option_tags = options_from_collection_for_select(
group.send(group_method), option_key_method, option_value_method)
content_tag(:optgroup, option_tags, :label => group.send(group_label_method))
end.join.html_safe
end
Показано, что на экране показано следующее.
<%= f.select(:type_id, option_groups_from_collection_for_select(@categories, :types, :category, :id, :name)) %>
При сохранении Post, правильный type_id становится сохранен, но когда я иду и редактировать пост, выберите не показывать выбранный элемент, как это предполагается. Я предполагаю, что в моем коде что-то не так.
Вот моя категория модель
has_many :posts
has_many :types, :order => "name"
и вот мой типа модель
belongs_to :category
Спасибо @Gjaldon! Это работает отлично! Для тех, кто видит это, вам также нужно добавить выбранную кнопку в свой вспомогательный метод –