d11*_*wtq 6 routing ruby-on-rails
虽然它通常违背我们的设计原则,但我们需要让控制器#create在GET请求上执行它的操作(它是涉及外部服务的一系列重定向的工作流的一部分).有人知道这样做的目的是什么吗?我真的不想走出Rails路由提供的资源丰富的路由框架.我们不需要#index通常会响应该GET请求的操作.
我发现(令人惊讶的是)这是有效的,但我不知道它是否有意,或者我们是否正在利用Rails中的一个错误并在以后发生破坏的风险:
resources :agreements, :except => [:index, :create] do
get :create, :on => :collection
end
Run Code Online (Sandbox Code Playgroud)
如果get :create是get :something,我们就不得不像一个路线
Helper: something_agreement_path
Request: GET /agreements/:agreement_id/something
Action: agreements#something
Run Code Online (Sandbox Code Playgroud)
但是Rails实际上产生了我们想要的东西:
Helper: agreements_path
Request: GET /agreements
Action: agreements#create
Run Code Online (Sandbox Code Playgroud)
错误或功能?
| 归档时间: |
|
| 查看次数: |
522 次 |
| 最近记录: |