私は、スルー関連とのHABTM関係の結合モデルを持っています(以下の詳細)。私はレコードを見つけようとしています....そのレコード属性の値を見つけて...値を変更してレコードを更新しますが、それを行うのは苦労しています。Rails - 結合モデルのレコード値を更新するにはどうすればよいですか?
モデルのセットアップはこれです>>
User.rb
has_many :choices
has_many :interests, :through => :choices
Interest.rb
has_many :choices
has_many :users, :through => :choices
Choice.rb
belongs_to :user
belongs_to :interest
と選択肢はUSER_IDを持っています、interest_id、scoreをフィールドとして使用します。
そして、私は?オブジェクトを見つけましたか? like >> >>
@choice = Choice.where(:user_id => @user.id, :interest_id => interest.id)
したがって、モデルChoiceにはscoreという名前の属性があります。スコア列の値をどのようにして見つけるのですか?+ 1/-1それを再保存しますか?
私は何を欠場でした......私は
@choice.score = @choice.score + 1
@choice.update_attributes(params[:choice])
flash[:notice] = "Successfully updated choices value."
を試してみましたが、私は、 "未定義のメソッドのスコア" を取得?
チェックを!あなたは@choiceの配列を得ているかもしれません。 –