rails 4 button_to选择更新,无论指定了什么操作

时间:2014-01-21 21:03:12

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

在我看来,我有一个按钮:

 <%= button_to 'Check In', { action: "check_in", id: @post.id }, method: "patch", class: "btn btn-primary" %>

在我的控制器中,我有一个匹配的方法:

  def check_in
   respond_to do |format|
    if @post.update(post_params)
     @checkout = Checkout.where(:post_id => @post.id, :author_id => @post.author_id).each do |c|
      c.checked_in = DateTime.now
      c.save
    end
   else
    ...
  end
end

我也有匹配的路线:

  get 'posts/check_in/:id' => 'posts#check_in'

但是,每当我点击按钮时,只会发生更新操作。从日志中:

PostsController处理#dpdate为HTML

为什么rails选择更新操作而不是check_in?

1 个答案:

答案 0 :(得分:0)

patch方法重定向到更新操作,将其删除或改为使用get