Ruby on Rails中的预览方法 - ActionController :: ParameterMissing错误

时间:2015-02-19 08:20:39

标签: ruby-on-rails ruby-on-rails-4 preview

我正在尝试在Ruby o Rails 4中实现预览功能;这意味着用户可以在实际提交之前预览将要发布的帖子。

流程将是:

  • 新帖子>填写表格 - >点击按钮"预览"
  • 查看已发布(格式与 show 视图相同) - > 2个按钮:发布!进行更改;分别保存或回去。

我的方法定义如下:

  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 %>

0 个答案:

没有答案