【问题标题】:Rails - Failing Routes in deploymentRails - 部署中的失败路由
【发布时间】:2010-06-21 15:04:21
【问题描述】:

我有一个应用在路由文件中包含以下内容:

  namespace "admin" do 
    # ADMINISTRATIVE ROUTES ONLY 
    root :to => 'home#index' 
    resources :comments do 
      member do 
        get :approve 
        get :reject 
      end 
    end 
    resources :users do 
      member do 
        get :block 
        get :unblock 
      end 
    end 
  end 

在本地浏览 /admin 时,我会看到相应的页面。 在 heroku 版本的同一 URL 上,我得到一个 404。路线显示 在“heroku rake routes”中正确

日志显示:

ActionController::RoutingError (wrong constant name Admin/ 
homeController): 
/disk1/home/slugs/196384_c95a9e3_4463/mnt/.bundle/gems/gems/ 
activesupport-3.0.0.beta4/lib/active_support/inflector/methods.rb: 
103:in `const_defined?'

有什么想法吗?

【问题讨论】:

    标签: ruby-on-rails routing heroku


    【解决方案1】:

    事实证明这是我们在 Gemfile 中的 right_aws gem 的问题。

    【讨论】:

    • 我正在使用依赖于 right_aws 的设计。因此,无法从我们的应用程序中删除 right_aws。你是怎么解决这个问题的?
    • 更新:似乎不再使用 right_aws,master 分支。即在 gem 文件中:gem 'right_aws', :git => 'git://github.com/rightscale/right_aws.git'
    • 更一般地说,当 gem 覆盖 Rails 的 String#camelize 方法时会发生此错误。
    【解决方案2】:

    看起来它正在寻找一个小写的“homeController”类,但我不明白为什么。检查您的文件以确保您已正确命名您的班级?

    【讨论】:

    • 这实际上是错误信息中的一个缺陷,它并不是真的在寻找一个小写的控制器。
    【解决方案3】:

    看起来像是 ActiveSupport 测试版中的一个错误。您运行的是完全相同的rails版本吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-31
      • 2011-12-22
      相关资源
      最近更新 更多