2012-07-12 42 views
1

routes.rb中in Rails 3应用有这样的代码:梁2 - 一个很好的方式来实现这样的范围

scope 'robokassa' do 
    match 'paid' => 'robokassa#paid', :as => :robokassa_paid # to handle Robokassa push request 
    match 'success' => 'robokassa#success', :as => :robokassa_success # to handle Robokassa success redirect 
    match 'fail' => 'robokassa#fail', :as => :robokassa_fail # to handle Robokassa fail redirect 
    end 

我想在Rails 2应用程序编写这样的范围。什么是正确的方法来实现这一点?轨道2是否支持范围?

回答

1

这应该在Rails的2

map.resources :robokassa do |robokassa| 
    robokassa.match 'success' => 'robokassa#success' 
    robokassa.match 'paid' => 'robokassa#paid' 
    robokassa.match 'fail' => 'robokassa#fail' 
end 

工作,或者你可以单独声明这样每条路线:

map.connect 'robokassa/success', :controller => 'robokassa', :action => 'success' 
+1

当我尝试你的第一个解决方案(map.resources),然后试图运行'$ rake routes'我得到了'rake中止!非法路由:必须指定:控制器!'。此外,第二个解决方案的作品 – ExiRe 2012-07-13 08:17:04

0

说实话,我不记得了,但如果一切都失败我认为你总是可以这样做:

match 'robokassa/paid' => 'robokassa#paid', :as => :robokassa_paid 

等等。

相关问题