の准レコードがレコードを関連付けるために、セッションコントローラを工夫:ここ工夫:誰かがログインした後、私はカスタムを追加ログイン
class SessionsController < Devise::SessionsController
before_create :associate_calculation
def associate_calculation
Calculation.find(self.calculation_id).user_id = self.id
Calculation.last.save!
end
end
はリクエストパラメータです:
Parameters: {"utf8"=>"✓", "authenticity_token"=>"JOQQcCTB9tkVegDgHP/ww8hu5qSzNWlu+4HZZ9AmQGYVO60f3BliwEYT+HKAGPsOOqbipSgj/xSqcDLqueOPZw==", "user"=>{"calculation_id"=>"48759708645478633", "email"=>"[email protected]", "password"=>"[FILTERED]", "remember_me"=>"0"}, "commit"=>"Signin"}
私はまたにattr_accessor :calculation_id
を追加しましたUser
モデル。
まだ、対応する計算は、サインインされたユーザーに関連付けられません。
私はまた、手動でユーザーに計算を添付しようとした:
class SessionsController < Devise::SessionsController
before_create :associate_calculation
def associate_calculation
Calculation.last.user_id = User.first.id
Calculation.last.save!
end
end
どちらか動作しませんでした。
問題は「associate_calculation」が最初に呼び出されないように見えます。 – jonhue
@jonhueこれは、あなたのコードでエラーが表示されない理由を説明します。だから、あなたはそのソートされた、別の質問を得る?上記を使用して、あなたの望む結果を得るべきです – jamesc
@jonhue私は私の答えをかなり更新しました。実際に必要とするソリューションに手を差し伸べるのを助けてくれることを願っています – jamesc