ジョブデータをデータベースに保存して、show
ページの代わりにプレビューページにリダイレクトして、送信したばかりのジョブフォームのすべての情報を表示します(実質的にはshow.html.erb
ページの複製)。Railsフォームのプレビューページ
現在、ユーザーが(エラーなしで)フォームを送信すると、ジョブはステータス「一時停止」で作成されます。ユーザーはpreview
ページにリダイレクトされます。しかし、ジョブ情報を表示するのに問題があります。Couldn't find Job without an ID
エラーが発生します。
私もjobs/_form.html.erb
で<%= f.hidden_field :job_id, value: @job.id %>
を使用して@job.id
に渡して試してみましたが、私はこのエラーを取得:Can't mass-assign protected attributes for Job: job_id
コントローラ/ jobs_controller.rb
def create
userprofile = current_user.userprofile
@job = userprofile.jobs.build(params[:job])
@job.status = 'Paused'
@job.audit_status = 'Approved'
respond_to do |format|
if @job.save
format.html {redirect_to preview_path, notice: 'Job was successfully created.' }
format.json { render json: @job, status: :created, location: @job }
else
format.html { render action: "new" }
format.json { render json: @job.errors, status: :unprocessable_entity }
end
end
end
def preview
@job = Job.find(params[:id])
end