传真资源的路由助手无法正常工作

时间:2011-11-29 16:56:31

标签: ruby-on-rails

我在users_manager引擎中生成了一个名为“fax”的资源:

apple@apple1:~/jiuhe/users_manager$ rails g resource users_manager/fax
      invoke  active_record
      create    db/migrate/20111129123558_create_users_manager_faxes.rb
      create    app/models/users_manager/fax.rb
   identical    app/models/users_manager.rb
      invoke    test_unit
      create      test/unit/users_manager/fax_test.rb
      create      test/fixtures/users_manager/faxes.yml
      invoke  controller
      create    app/controllers/users_manager/faxes_controller.rb
      invoke    erb
      create      app/views/users_manager/faxes
      invoke    test_unit
      create      test/functional/users_manager/faxes_controller_test.rb
      invoke    helper
      create      app/helpers/users_manager/faxes_helper.rb
      invoke      test_unit
      create        test/unit/helpers/users_manager/faxes_helper_test.rb
      invoke    assets
      invoke      js
      create        app/assets/javascripts/users_manager/faxes.js
      invoke      css
      create        app/assets/stylesheets/users_manager/faxes.css
       route  namespace :users_manager do resources :faxes end

我写了configure / routes.rb

    UsersManager::Engine.routes.draw do
     namespace :users_manager do
    resources :users do
      resources :faxes
      resources :emails
      resources :qqs
      resources :addresses
      resources :telephones
    end
  end

  match "/:action"=>"users_manager/account"
  end

但是路由助手users_manager_engine.users_manager_user_fax_path无法正常工作。

Rails给我留言:

undefined method `users_manager_user_fax_path' for
 #<ActionDispatch::Routing::RoutesProxy:0x7f0ca0ab3520>

但是路由助手users_manager_engine.users_manager_user_faxes_path存在。

1 个答案:

答案 0 :(得分:0)

在控制台中检查“佣金路线”,您会发现路线中的“传真”单数不是“传真”而是“传真”。 所以正确的路线是users_manager_user_faxis_path

如果您对此不满意,可以使用

编辑或创建config / initializers / inflections.rb
ActiveSupport::Inflector.inflections do |inflect|
  inflect.singular 'faxes', 'fax'
end
相关问题