我正在尝试在Ruby o Rails 4中实现预览功能;这意味着用户可以在实际提交之前预览将要发布的帖子。
流程将是:
我的方法定义如下:
def create
@post = Post.new(params.require(:post).permit(:title, :description))
if params[:previewButton] == "Preview"
preview
render :preview
end
end
def preview
if params[:createButton] == "Post it!"
@post.save
elseif params[:changeButton] == "Make Changes"
create
render :create
end
end
我现在得到的流程如下:
我填写表单并点击预览按钮。它适用于预览视图,并显示我刚刚填写的信息,以及相应的2个按钮(创建和更改)。因此,信息可以正常显示渲染:预览并正确加载视图。
然后,无论我点击下一个按钮(发布它!或进行更改),我都会收到此错误:
ActionController :: JobsMtroller中的ParameterMissing #Create ; param丢失或值为空:发布 ,在 create 方法的第一行突出显示, @post:Post.new(.. .. 的
按钮似乎工作正常,但万一我在 html.erb 视图中按如下方式实现了它们:
<%= simple_form_for @post do |form| %>
<%= form.button :submit, name: "createButton", value: "Post it!"%>
<%= form.button :submit, name: "changeButton", value: "Make Changes"%>
<% end %>