我想將作業數據保存到數據庫中,並重定向到預覽頁面(而不是show
頁面),該頁面顯示剛剛提交的作業表單中的所有信息(基本上是show.html.erb
頁面的副本)。Rails form preview page
當前,當用戶提交表單(沒有錯誤)時,作業創建時狀態爲「已暫停」。用戶被重定向到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