加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails-3 – rails 3.2,如何为HTTP动词编写路由,并在link

发布时间:2020-12-17 03:30:23 所属栏目:百科 来源:网络整理
导读:我正在尝试写两个拒绝和链接的链接批准行动, 但是,我不知道如何写出正确的路线, 我的路线.rb put 'approve_class_room/:id(.:format)',:to = 'class_room_member_ships#approve'put 'reject_class_room/:id(.:format)',:to = 'class_room_member_ships#rejec
我正在尝试写两个拒绝和链接的链接批准行动,
但是,我不知道如何写出正确的路线,

我的路线.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已正确集成到您的应用中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读