我想将Job数据保存在数据库中,然后重定向到预览页面(而不是show
页面),该页面显示刚刚提交的Job表单中的所有信息(基本上是{{{ 1}}页面)。
目前,当用户提交表单(没有错误)时,将创建状态为“已暂停”的作业。并且用户被重定向到show.html.erb
页面。但是我在显示作业信息时遇到问题,我收到preview
错误。
我还尝试使用Couldn't find Job without an ID
中的@job.id
传递<%= f.hidden_field :job_id, value: @job.id %>
,但我收到此错误:jobs/_form.html.erb
控制器/ jobs_controller.rb
Can't mass-assign protected attributes for Job: job_id
答案 0 :(得分:2)
您的代码几乎是正确的。将id
作为preview_path
的网址参数传递:
if @job.save
format.html {redirect_to preview_path(id: @job.id), notice: 'Job was successfully created.' }
# ...
答案 1 :(得分:1)
您没有通过重定向传递@job对象:
redirect_to preview_path(@job)