Привет, ребята, я использовал отношение has_and_belongs_to_many с примером флажков из Railscast Episode # 17 . У меня были некоторые проблемы, и теперь все работает нормально, кроме кнопки обновления, которая не будет работать.
вид редактирования выглядит так
<% form_for :users, :action => 'update' do |f| %>
<% for interest in Interest.find(:all) %>
<div>
<%= check_box_tag "user[interest_ids][]", interest.id,
@user.interests.include?(interest) %>
<%= interest.name %>
</div>
<% end %>
<p>
<%= f.submit 'Update' %>
</p>
<% end %>
а в контроллере у меня ....
def edit
@user = User.find(session[:user_id])
end
def update
params[:user][:interest_ids] ||= []
@user = User.find(session[:user_id])
if @user.update_attributes(params[:user])
flash[:notice]='User data was updated'
redirect_to :action => 'index'
else
redirect_to :action => 'index'
end
end
Кнопка не является событием, которое выполняет перенаправление ... поэтому я не знаю, что происходит. Есть ли что-то в моей форме, что это портит? Я не совсем уверен, как создать кнопку и получить доступ к методу в контроллере с обновлениями модели и т. Д.
Я оглянулся на помощь и подумал, что это может быть из-за attr_accessible, поэтому я добавил =>
attr_accessible :login, :email, :password, :password_confirmation, :interest_ids, :user
моей пользовательской модели, но все еще ничего ... Любая идея, почему моя форма не отправляется?