我正在尝试写两个拒绝和链接的链接批准行动,
但是,我不知道如何写出正确的路线,
但是,我不知道如何写出正确的路线,
我的路线.rb
put 'approve_class_room/:id(.:format)',:to => 'class_room_member_ships#approve' put 'reject_class_room/:id(.:format)',:to => 'class_room_member_ships#reject'
但是,在rake路线中,我得到:
PUT /approve_class_room/:id(.:format) class_room_member_ships#approve PUT /reject_class_room/:id(.:format) class_room_member_ships#reject
那么,什么是正确的link_to路径?
我的链接是
= link_to 'approve',approve_class_room_path
它不会工作,我得到:
undefined local variable or method `approve_class_room_path'
p.s:我试图让link_to使用AJAX工作,在同一页面上进行批准,
我在正确的路上吗?什么是link_to路径?
有什么好主意吗?
解决方法
首先,要清除您需要使用的错误
named routes:
put 'approve_class_room/:id(.:format)',:to => 'class_room_member_ships#approve',:as => :approve_class_room put 'reject_class_room/:id(.:format)',:to => 'class_room_member_ships#reject',:as => :reject_class_room
然后,要执行PUT请求,您需要在link_to调用中包含:method选项:
link_to 'approve',approve_class_room_path,:method => :put link_to 'reject',reject_class_room_path,:method => :put
如果你得到一个404导致GET请求而不是PUT请求,那是因为:method => :put选项依赖于JavaScript.您需要确保jquery-rails已正确集成到您的应用中.