2011-11-29 31 views
0

我已經生成一個名爲在users_manager引擎「傳真」資源:傳真資源的途徑幫助不能工作

[email protected]:~/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 

而且我寫的配置/ 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存在。

回答

0

在控制檯檢查「耙路」,你會發現你的路由中單數的「傳真」不是「傳真」而是「faxis」。 所以,正確的路線會users_manager_user_faxis_path

如果你不滿意,你可以編輯或創建一個配置/初始化/是inflections.rb與

ActiveSupport::Inflector.inflections do |inflect| 
    inflect.singular 'faxes', 'fax' 
end