小编mar*_*aru的帖子

Rails 4.0.0应用程序中ActiveSupport的未定义方法"all"

我是开发rails应用程序的新手,所以在大多数情况下,我只依靠rails generate命令来为整个应用程序制作支架.虽然我的应用程序的每个其他部分都可以正常工作,但这个部分会在自动生成后立即引发错误.

错误如下:

NoMethodError in ConfigurationsController#index 
undefined method `all' for ActiveSupport::Configurable::Configuration:Class
Run Code Online (Sandbox Code Playgroud)

这是包含所述无方法调用的代码片段

def index
  @configurations = Configuration.all
end
Run Code Online (Sandbox Code Playgroud)

这是所述模型

class Configuration < ActiveRecord::Base
  belongs_to :users, class_name: 'User', foreign_key: 'user_id'
end
Run Code Online (Sandbox Code Playgroud)

我添加了belongs_to部分...无论如何,当我通过http://localhost.localhost:3000/users/1/configurations /运行它时,会弹出错误!(是的,我使用嵌套路线)

所以我点击rails控制台来检查Configuration.all返回什么,然后看看

2.0.0-p247 :004 > Configuration.all
  Configuration Load (0.3ms)  SELECT "configurations".* FROM "configurations"
 => #<ActiveRecord::Relation [#<Configuration id: 1, user_id: 1, port: 3000, host: "example.org", annoy: 5000, version: "1", machines: nil, created_at: "2013-08-08 02:15:32", updated_at: "2013-08-08 02:15:32">]>
Run Code Online (Sandbox Code Playgroud)

我有点迷失为什么该方法在rails控制台中工作然后在浏览器的html视图中失败.我做错什么了吗?

另外,这是webrick的输出,以防有人找到它

Started GET "/users/1/configurations/" for 192.168.1.105 at 2013-08-08 10:24:59 +0800 …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails

3
推荐指数
1
解决办法
2490
查看次数

标签 统计

ruby-on-rails ×1