Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/67.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.3.8中,处理本地化名称间隔路由的正确方法是什么?_Ruby On Rails_Localization_Routing_Routes_Ruby On Rails 2 - Fatal编程技术网

Ruby on rails 什么';在Rails 2.3.8中,处理本地化名称间隔路由的正确方法是什么?

Ruby on rails 什么';在Rails 2.3.8中,处理本地化名称间隔路由的正确方法是什么?,ruby-on-rails,localization,routing,routes,ruby-on-rails-2,Ruby On Rails,Localization,Routing,Routes,Ruby On Rails 2,我正在本地化我的应用程序,正在努力解决如何处理应用程序特定部分的路由问题 最初我的路线是这样的: map.namespace :admin do |admin| admin.resources :people, :member => {:confirm_destroy => :get}, :collection => {:follow => :post, :sync_friends => :get, :upload => :post, :import => :get, :r

我正在本地化我的应用程序,正在努力解决如何处理应用程序特定部分的路由问题

最初我的路线是这样的:


    map.namespace :admin do |admin|
      admin.resources :people, :member => {:confirm_destroy => :get}, :collection => {:follow => :post, :sync_friends => :get, :upload => :post, :import => :get, :recommendations => :get, :mark_recommendations => :post, :batch_create => :post}
      admin.resources :jobs, :collection => {:remove => :post}
      admin.resources :users, :member => {:confirm_destroy => :get}
      admin.resources :sites, :member => {:update_design => :post, :design => :get, :update_links => :post, :links => :get, :content => :get, :update_content => :post, :add_admin => :post, :remove_admin => :post, :set_system_account => :get, :confirm_system_account => :get}, :collection => {:remove => :post, :upload => :post}
      admin.resources :subscriptions, :member => { :charge => :post, :migrate_plan => :post, :update_components => :post }
      admin.resources :accounts, :collection => {:remove => :post}
      admin.resources :subscription_plans, :as => 'plans'
      admin.resources :subscription_discounts, :as => 'discounts'
      admin.resources :twitter_lists, :collection => {:auto_generate_twitter_list => :post}
    end
根据我在其他路由上成功完成的工作,我需要向这些路由添加:
:path_prefix=>'/:locale/'

我遇到的唯一一个例子是这样的:



我真诚地感谢任何人能够提供关于正确处理这类事情的方法和/或此url不想再生成的原因的任何见解。谢谢

所以在添加本地化之后,我需要更具体地使用传递到URL帮助器的参数:

=链接到(t('subscription'),编辑订阅路径(:id=>subscription\u id)
工作正常

仍然不确定是否


  map.with_options(:path_prefix => '/:locale/admin') do |locale|
    locale.namespace :admin do |admin|
这是最好的方法,但至少目前是有效的

ActionController::RoutingError in Admin/base#index Showing app/views/admin/shared/_menu.html.haml where line #13 raised: edit_admin_subscription_url failed to generate from {:action=>"edit", :controller=>"admin/subscriptions", :locale=>BSON::ObjectId('4d0ecb6587adddc91c000014')}, expected: {:controller=>"admin/subscriptions", :action=>"edit"}, diff: {:locale=>BSON::ObjectId('4d0ecb6587adddc91c000014')}

  map.with_options(:path_prefix => '/:locale/admin') do |locale|
    locale.namespace :admin do |admin|