2009-01-17 51 views
-1

我剛剛安裝了鐵路,並試圖運行幾個簡單的示例運行。 我有一個應用程序模型和控制器造成了一些胃灼熱。在應用模型和管理員級別控制器上的鐵路bal 012

沒有真正的應用程序表 - 該模型用於加載(包括)驗證系統等內容。控制器設置helper_methods等。

我也有許多控制器在許多模型的subdir管理員。

當我運行:鐵路-o models.dot -M 我得到: /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/base.rb: 1833:在method_missing': undefined method是helper_method」的應用(表不存在):類(NoMethodError)

當我運行:鐵路-o controllers.dot -C 我得到的/ usr/local/lib目錄/紅寶石/寶石/ 1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:445:in`load_missing_constant':未初始化的常量CoverageAmountsController(NameError)

coverage_amounts.rb控制器(類Admin :: CoverageAmountsControll er < AdminController)位於app/controllers/admin中 - 如果我將其移出,它將在admin目錄中的下一個控制器上顯示 - 因此它看起來不像admin文件夾中的控制器。

如何解決這些問題?有什麼我可以在鐵路或我的應用程序,使其工作?我想用這樣的東西來看看它是否會滿足我的需求。

回答

0

不要使用應用程序作爲模型的名稱,因爲這會導致與應用程序控制器(也稱爲application.rb)的混淆。看到這個線程在軌維基: http://wiki.rubyonrails.org/rails/pages/ReservedWords#fn2

注意這個問題應該在邊緣的軌道來解決:http://github.com/rails/rails/commit/fcce1f17eaf9993b0210fe8e2a8117b61a1f0f69

同樣的ActiveRecord假設你有一個相應的表類(我認爲)。您可能想要將認證系統包含到應用程序控制器中,除非您有充分理由不這樣做。

您可能會發現,進行此更改可修復您遇到的其他控制器問題。 讓我知道任何一種方式。

0

感謝您的答覆...

我有幾件事情在應用模式發生。這些都可以移動到應用程序控制器並提供相同的結果嗎?

class Application < ActiveRecord::Base 

    include AuthenticatedSystem 
    # this gives all model access to current_user 
    before_filter { |c| User.current_user = c.current_user } 

    # some miscellanous modules 
    require HashExtensions 
    require LiquidExtensions 

end