2012-06-12 3 views
0

라우팅 내가 현재 사용하고 무엇을 : Rails -v 3.2.3레일 3 - 컨트롤러 방법을 heres

나는 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'

경기 :

답변

0

난 항상 이런 식으로 뭔가를 사용했다 => 'modify_points'

않는 한 당신이 원하는 경로 생성이? 레이크 루트는 무엇을 보여줍니까?

+0

rakes routes는 올바른 경로라고 생각되는 'modify_points /modify_points(.:format) 링크 # modify_points'링크를 보여줍니다. 그러나 그것은 내 포인트를 증가시키지 않기 때문에'modify_points' 메쏘드가 내'links_controller' 안에 있다면 –

+0

메쏘드를 잘못 써야합니다. 라우트가'/ links/: id/modify_points (. : 형식)'? 죄송합니다. 아직 레일을 처음 보신 분 –

+0

뭔가 이상합니다. 경로에 '링크 # 수정 _ 위치'가 표시되지만 '링크 # 수정 _ 위치'가 있습니다 – thisfeller