У меня есть две модели: События и интересы, связанные с миграцией таблицы соединений EventsInterests (event_id, interest_id, id => false).Rails - Подключение флажков для изменения значений для таблицы соединений
Я пытался создать что-то, где вы могли бы связать набор категорий интересов с некоторыми событиями в моем приложении.
Я создал запись непосредственно в базе данных и ее отображение правильно, поэтому я уверен, что флажок правильно; но я не могу отредактировать запись вообще. Если я добавлю еще один интерес через флажок, ничего не произойдет. Я не получаю никаких ошибок, и журнал показывает, что он вызывает таблицу соединений, поэтому я предполагаю, что проблема связана с моим заявлением о обновлении .....
Im думая что-то с attr_accessible частью, но я не знаю, как добавить это для таблицы join .... я просто удаляю его?
events.rb
has_and_belongs_to_many :interests
attr_accessible :name, :category
interests.rb
has_and_belongs_to_many :events
В моей форме редактирования, где я хотел бы добавить записи в соединительной таблице это выглядит следующим образом.
<%= form_for @event do |f| %>
<%= f.error_messages %>
<p>
<%= f.label :title %><br />
<%= f.text_field :title %>
</p>
<% for interest in @interests %>
<div>
<%= check_box_tag "event[interest_ids][]", interest.id, @event.interests.include?(interest) %>
<%= interest.name %>
</div>
<% end %>
<p><%= f.submit %></p>
и часть редактирования/обновления в контроллере выглядит
def update
@event = Event.find(params[:id])
params[:event][:interest_ids] ||= []
if @event.update_attributes(params[:event])
flash[:notice] = "Successfully updated event."
redirect_to @event
else
render :action => 'edit'
end
end