为什么 Rails 会创建这样的路径
/notification_templates/duplicate_me.1
应该是
/notification_templates/duplicate_me/1
我的路线是
resources :notification_templates do
collection do
get :blast_send
patch :deactivate
patch :activate
get :get_list
post :duplicate_me
end
end
我的链接是
<%= link_to "Duplicate", duplicate_me_notification_templates_path(template), method: :post, class: "btn btn-primary" %>
最佳答案
您正在尝试将资源传递到集合路由。为此,您的路线应定义为 member route相反:
resources :notification_templates do
collection do
get :blast_send
patch :deactivate
patch :activate
get :get_list
end
member do
post :duplicate_me
end
end
当前将路由转换为点的原因是路径助手很可能将传入的参数 (template
) 理解为 format specification 。使用点将格式与路径分隔开。
关于ruby-on-rails - Rails 什么时候用点而不是反斜杠创建路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37406257/