Rails 3.0:PUT成员路由上没有路由错误

时间:2011-11-28 05:19:24

标签: ruby-on-rails ruby-on-rails-3

我有一个Rails 3.0应用程序,它具有一个简单的投票机制,可以为多个向下投票添加计数。我在routes.rb中设置了一个PUT路由,并在我的控制器中创建了一个方法来处理它。向下投票链接本身呈现正确,但点击它会给我一个路由错误没有路由匹配“/ venues / 18 / down_vote”错误。

这是我的控制器代码:

def down_vote
  @venue = Venue.find(params[:id])

  respond_to do |format|
    if @venue.update_attribute(:mon_closed_accuracy_downvotes => @venue.mon_closed_accuracy_downvotes + 1)
      format.html { redirect_to(:back, :flash => { :success => "Shenanigans were successfully called on #{ @venue.name }'s closing time." }) }
      format.xml  { head :ok }
    else
      format.html { render :action => 'show' }
      format.xml  { render :xml => @venue.errors, :status => :unprocessable_entity }
    end
  end
end

这是down_vote路线的路线代码:

resources :venues do 
  put 'down_vote', :on => :member
end

查看代码(在部分场地内部):

<%= link_to 'Incorrect?', down_vote_venue_path(venue), :method => :put %>

同样,视图本身呈现正常,链接按预期呈现:

<a href="/venues/15/down_vote" data-method="put" rel="nofollow">Incorrect?</a>

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

听起来你的javascript出了问题。你包括正确的文件吗?你的布局是什么样的?