我是开发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)