我有一个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>
有什么想法吗?
答案 0 :(得分:0)
听起来你的javascript出了问题。你包括正确的文件吗?你的布局是什么样的?