2011-01-05 12 views
0

ジョインテーブル移行EventsInterests(event_id、interest_id、id => false)で接続された2つのモデルのイベントとインタレストがあります。Rails - ジョインテーブルの値を変更するためのチェックボックスの接続

興味のあるカテゴリのカテゴリをアプリ内のいくつかのイベントに接続できる場所を作成しようとしていました。

私はデータベースに直接レコードを作成して正しく表示していますので、チェックボックスの部分が正しいことを確信しています。私はレコードを編集できません。チェックボックスを使用して別の関心事を追加すると、何も起こりません。エラーが発生せず、ログにジョインテーブルが呼び出されていることを示していますので、私の更新ステートメントでこの問題を推測しています.....

Im attr_accessible部分で何かを考えていますが、私は結合テーブルのためにそれを追加する方法を知りません....私はそれを削除するだけですか?

私はそれがこのようになります結合テーブルにレコードを追加したいと思い、私の編集フォームで

has_and_belongs_to_many :events 

interests.rb events.rb

has_and_belongs_to_many :interests 
    attr_accessible :name, :category 

。コントローラで

<%= 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 

答えて

関連する問題