1

Rails バージョン 3.2.10 を使用しています。あるアクションから別のコントローラーの別のアクションに、多くの属性を持つモデル インスタンス変数を渡そうとしています。

私は多くのことを試しましたが、解決策が得られませんでした。

最初のコントローラーメソッド:

def create
if current_user
  auth = request.env["omniauth.auth"]
  @applicant = Applicant.new
  if (auth['provider'] == "linkedin")
    puts auth.info.image
    linkedinProfileImport(auth)
    @applcant.first_name = auth.info.first_name
    @applcant.second_name = auth.info.last_name

   redirect_to controller => 'job_applicants', :action => 'newProfile' , :id => params[:id]
    end   

2 番目のコントローラーの方法:

 def newProfile
 @job = Job.find_by_id(params[:id])
 puts @job.id
 @applicant = Applicant.new
 @applicant = @applicant

終わり

@ applicant最初のコントローラーから 2 番目のコントローラー メソッドに変数 にアクセスする必要があります。

4

2 に答える 2

4

それはできません...最初のアクションでオブジェクトをDBに保存し、2番目のアクションでそれを取得する必要があります。

redirect_to を使用すると、完全なオブジェクトではなく、たとえば URL の場合と同じように引数を渡すことができます。ここでは、redirect_to で保存されたオブジェクト ID を渡します。

于 2013-05-07T16:28:55.307 に答える