라우팅 내가 현재 사용하고 무엇을 : 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'
경기 :
rakes routes는 올바른 경로라고 생각되는 'modify_points /modify_points(.:format) 링크 # modify_points'링크를 보여줍니다. 그러나 그것은 내 포인트를 증가시키지 않기 때문에'modify_points' 메쏘드가 내'links_controller' 안에 있다면 –
메쏘드를 잘못 써야합니다. 라우트가'/ links/: id/modify_points (. : 형식)'? 죄송합니다. 아직 레일을 처음 보신 분 –
뭔가 이상합니다. 경로에 '링크 # 수정 _ 위치'가 표시되지만 '링크 # 수정 _ 위치'가 있습니다 – thisfeller