2009-01-17 52 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