2012-06-12 45 views
0

继承人什么我目前使用: Rails -v 3.2.3的Rails 3 - 路由到一个控制器方法

我试图在routes.rb中的路径将路由在我links_controller.rb的方法。

的routes.rb

match 'modify_points' => 'links#modify_points', :as => :modify_points

links_controller.rb方法

def modify_points 
    @link = Link.find(params[:id]) 
    @link.update_attribute :points, @link.points + params[:by].to_i if params[:by] =~ /[+|-]?1/ 
    render_text @link.points 
end 

这里是我如何调用我的观点方法:

<%= link_to('UP', modify_points_path(link, :by => 1), :remote => true) %>

但是,当我点击这个UP链接....没有任何反应。 link.points应该增加1,但是当我检查控制台时,我的点数仍然为零。我是否正确创建路线?

回答

0

我一直用这样的事情:

匹配 '/ modify_points'=> '链接#modify_points':为=> 'modify_points'

不会产生你想要的路线?耙路线显示什么?

+0

rakes routes显示这个'modify_points /modify_points(.:format)links#modify_points'我认为是正确的路线?但是它并没有增加我的观点,所以我必须写错方法 –

+0

,如果'modify_points'方法在我的'links_controller'里面的话......不应该把路由改为'/ links /:id/modify_points(。 :格式)'? ....对不起,仍然是新的轨道 –

+0

有些奇怪。你的路线显示'links#modify_points',但你有'link#modify_points' – thisfeller