gpt4 book ai didi

ruby-on-rails - ActiveResource 模型未初始化

转载 作者:行者123 更新时间:2023-12-03 09:24:08 25 4
gpt4 key购买 nike

我正在考虑使用 ActiveResource,但现在面临一个我无法弄清楚的问题(现在已经在网上搜索了几天的解决方案)。

所以我有一个身份验证应用程序位于 http://localhost:80和端口上的客户端:85

在我的身份验证应用程序中

我有一个用户模型,它的 Controller 遵循 REST 架构并设置为响应 xml 调用。

这是我的身份验证应用程序中的内容:

模型/用户.rb

class User < ActiveRecord::Base
end

* Controller /users_controller.rb*
class UsersController < ApplicationController
respond_to :html, :xml, :js

def index
@users = User.find :all
respond_with @users
end

def show
@user = User.find(params[:id])
respond_with @user
end
.
.
.
end

在客户端应用程序中

我有一个从事件资源扩展的类,如下所示:

模型/用户.rb
class User < ActiveResource::Base
self.site = "http://localhost:80"
end

这是我尝试使用它的方式:
* Controller /sessions_controller.rb*
class SessionController < ApplicationController

def home
@user = User.find(:all)
end
end

会出什么问题,对吧?..

但后来我收到以下错误:

Started GET "/" for 127.0.0.1 at 2013-09-02 08:33:44 +1200 Processing
by SessionsController#home as HTML Completed 500 Internal Server Error
in 3ms

NameError (uninitialized constant ActiveResource):
app/models/user.rb:1:in <top (required)>'

app/controllers/sessions_controller.rb:4:in
home'

Rendered
/usr/lib/ruby/gems/1.9.1/gems/actionpack-4.0.0/lib/action_dispatch/middleware/templates/rescues/_source.erb
(1.6ms) Rendered /usr/lib/ruby/gems/1.9.1/gems/actionpack-4.0.0/lib/action_dispatch/middleware/templates/rescues/_trace.erb
(2.7ms) Rendered /usr/lib/ruby/gems/1.9.1/gems/actionpack-4.0.0/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb
(2.2ms) Rendered /usr/lib/ruby/gems/1.9.1/gems/actionpack-4.0.0/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb within rescues/layout (37.4ms)



我在用:

ruby 1.9.3p0(2011-10-30 修订版 33570)[i686-linux]
rails 4.0.0
安装了 activeresource (4.0.0) gem

我可能做错了什么?
是否有可能 ActiveResource 无法连接到 localhost:80结果没有被初始化?


编辑:

完成 rvm 使用 2.0.0 所以现在 ruby​​ 版本是:ruby 2.0.0p247 (2013-06-27 revision 41674) [i686-linux]

编辑:

RubyGems Environment:
- RUBYGEMS VERSION: 2.0.7
- RUBY VERSION: 1.9.3 (2011-10-30 patchlevel 0) [i686-linux]
- INSTALLATION DIRECTORY: /usr/lib/ruby/gems/1.9.1
- RUBY EXECUTABLE: /usr/bin/ruby1.9.1
- EXECUTABLE DIRECTORY: /usr/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86-linux
- GEM PATHS:
- /usr/lib/ruby/gems/1.9.1
- /home/dmitry/.gem/ruby/1.9.1
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- https://rubygems.org/

最佳答案

我终于明白了这一点...

出于某种原因( 如果有人可以解释为什么 )我必须在我的 user.rb 文件中手动要求事件资源,我将不胜感激。

使其工作的正确代码应该是:

require 'active_resource'  

class User < ActiveResource::Base
self.site = "http://localhost:80"
end

附注
谢谢 zeantsoi对于您的评论,这些让我开始寻找未加载此 gem 的原因。

关于ruby-on-rails - ActiveResource 模型未初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18562677/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com