Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails 2—实现这种范围的好方法_Ruby On Rails_Ruby_Scope - Fatal编程技术网

Ruby on rails Rails 2—实现这种范围的好方法

Ruby on rails Rails 2—实现这种范围的好方法,ruby-on-rails,ruby,scope,Ruby On Rails,Ruby,Scope,我在Rails 3的routes.rb应用程序中有这样的代码: scope 'robokassa' do match 'paid' => 'robokassa#paid', :as => :robokassa_paid # to handle Robokassa push request match 'success' => 'robokassa#success', :as => :robokassa_success # to han

我在Rails 3的routes.rb
应用程序中有这样的代码:

  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

我想在
rails2
app中编写这样的范围。实现这一点的正确方法是什么?rails 2支持作用域吗?

这应该在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'

这应该在Rails2中起作用

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'

老实说,我已经不记得了,但如果其他一切都失败了,我想你可以一直这样做:

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

等等。

老实说,我已经记不得了,但如果其他一切都失败了,我想你总能做到:

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

等等。

当我尝试您的第一个解决方案(map.resources),然后尝试运行
$rake routes
时,我得到
rake中止!非法路由:必须指定:控制器。另外,第二个解决方案也有效。当我尝试您的第一个解决方案(map.resources),然后尝试运行
$rake routes
时,我得到
rake中止!非法路由:必须指定:控制器。此外,第二种解决方案也有效。