gpt4 book ai didi

ruby-on-rails-3 - rails 3.2,如何编写用于HTTP动词放置的路由,并在link_to中使用它?

转载 作者:行者123 更新时间:2023-12-04 18:12:24 25 4
gpt4 key购买 nike

我正在尝试为拒绝和批准操作编写两个链接,
但是,我不知道如何编写正确的路线,

我的route.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'

但是,在耙路中,我得到:
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'

附注:我正在尝试使用AJAX使link_to正常工作,以在同一页面中进行批准,
我是对的吗? 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请求,您需要在 :method调用中包括 link_to选项:
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已正确集成到您的应用中。

关于ruby-on-rails-3 - rails 3.2,如何编写用于HTTP动词放置的路由,并在link_to中使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10839177/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com