Rails 2 - 实现这种范围的好方法

时间:2012-07-12 15:16:01

标签: ruby-on-rails ruby scope

我在 routes.rb in Rails 3 app中有这样的代码:

  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 app中编写此类范围。实现这一目标的正确方法是什么? rails 2是否支持范围?

2 个答案:

答案 0 :(得分: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 :(得分:0)

老实说我不再记得了,但如果一切都失败了我认为你总能做到:

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

等等。