如何仅重命名index
路径?
的routes.rb
resources :tasks, :except => [:create] do
collection do
..............
end
member do
.............
end
end
而不是{strong>网址中的/tasks
我需要/trigger
甚至/tasks/trigger
,我会rails3
。
我试过
1
collection do
'/', to: 'tasks#trigger'
end
和
2
resources :tasks, :except => [:create] do
get '/task', to: 'task#trigger', as: task_index
end
两者都呕吐errors
。
任何想法?
答案 0 :(得分:3)
对于像' / trigger'这样的网址添加到routes.rb:
get 'trigger' => 'tasks#index'
对于像' / tasks / trigger'这样的网址修改routes.rb:
resources :tasks, :except => [:create] do
collection do
get 'trigger' => 'tasks#index'
end
end
如果任务控制器中的索引方法命名为'触发器,则'tasks#index'
替换为'tasks#trigger'
答案 1 :(得分:1)
仅限制索引路线在资源调用中生成:
resources :tasks, :except => [:create, :index]
然后做自己的自定义路线。对于'/ trigger':
get 'trigger', to: 'task#trigger', as: 'trigger
答案 2 :(得分:1)
如果你想制作自己的索引路线,那么你需要做两件事
1-您需要禁用资源创建的索引路径
2-根据需要定义自己的路径。
根据您的要求,您希望将索引路由设为'/ trigger'。
以下是解决方案。
get 'trigger' => 'tasks#index'
resources :tasks, :except => [:create, :index] do
collection do
..............
end
member do
.............
end
end