在rails 4.2
我有一个控制器,我想用非资源丰富的路线填充
class TwilioController < ApplicationController
def add_to_queue
end
def another_action
end
end
然后我想要像这样访问这些行动
http://appdomain/twilio/add-to-queue
和
http://appdomain.com/twilio/another-action
我意识到我可以在路线文件
中这样做get 'twilio/add-to-queue', to: 'twilio#add_to_queue'
get 'twilio/another-action', to: 'twilio#another_action'
但是有没有办法将所有这些组合在一起,所以我不必在每条路线的开头明确添加twilio
。
答案 0 :(得分:1)
好的,我已经找到了解决方案,看起来非常简洁。
scope path: 'twilio', as: 't' do
get 'add-to-queue', to: 'twilio#add_to_queue'
end
所以我现在有以下路线:
t_add_to_queue GET /twilio/add-to-queue(.:format) twilio#add_to_queue
答案 1 :(得分:1)
这是我的解决方案,适用于Rails 3.2。
scope :path => :twilio, :controller => :twilio, :as => :twilio do
get :add_to_queue
get :another_action
get :yet_another_action
end
:path
将\twillio\...
添加到网址
:controller
将所有嵌套路由映射到TwillioController
:as
使用twillio_....