ruby – 设计不允许活动资源访问服务
发布时间:2020-12-17 02:16:25 所属栏目:百科 来源:网络整理
导读:在我的应用程序中,有两个文件夹,一个用于rails应用程序,另一个用于 ruby应用程序.在 ruby文件夹中,我创建了一个ruby文件,其中我编写了代码来访问使用活动资源的rails应用程序中存在的某个模型. 示例代码如下所示: active_resource_example.rb require 'ruby
在我的应用程序中,有两个文件夹,一个用于rails应用程序,另一个用于
ruby应用程序.在
ruby文件夹中,我创建了一个ruby文件,其中我编写了代码来访问使用活动资源的rails应用程序中存在的某个模型.
示例代码如下所示: active_resource_example.rb require 'rubygems' require 'active_resource' class Website < ActiveResource::Base self.site = "http://localhost:3000/admin/" self.user = "user" self.password = "password" end websites = Website.find(:all) puts websites.inspect 在我的rails应用程序中,我使用了ActiveAdmin gem,它使用devise进行身份验证.在rails Server上,我得到以下结果: Started GET "/admin/websites.json" for 192.168.1.37 at 2011-11-12 14:41:06 +0530 Processing by Admin::WebsitesController#index as JSON Completed in 43ms 在我执行active_resource_example.rb的终端上,我收到以下错误: user@user:~/Desktop$ruby active_resource_example.rb /home/user/.rvm/gems/ruby-1.9.2-p180/gems/activeresource-3.1.1/lib/active_resource/connection.rb:132:in `handle_response': Failed. Response code = 401. Response message = Unauthorized . (ActiveResource::UnauthorizedAccess) from /home/user/.rvm/gems/ruby-1.9.2-p180/gems/activeresource-3.1.1/lib/active_resource/connection.rb:115:in `request' from /home/user/.rvm/gems/ruby-1.9.2-p180/gems/activeresource-3.1.1/lib/active_resource/connection.rb:80:in `block in get' from /home/user/.rvm/gems/ruby-1.9.2-p180/gems/activeresource-3.1.1/lib/active_resource/connection.rb:218:in `with_auth' from /home/user/.rvm/gems/ruby-1.9.2-p180/gems/activeresource-3.1.1/lib/active_resource/connection.rb:80:in `get' from /home/user/.rvm/gems/ruby-1.9.2-p180/gems/activeresource-3.1.1/lib/active_resource/base.rb:894:in `find_every' from /home/user/.rvm/gems/ruby-1.9.2-p180/gems/activeresource-3.1.1/lib/active_resource/base.rb:806:in `find' from active_resource_example.rb:12:in `<main>' user@user:~/Desktop$ 我尝试使用另一个应用程序,其中Devise身份验证不使用我在active_resource_example.rb中使用的相同配置,我得到了结果. 解决方法
经过对上述主题的长时间搜索,我发现了这个:
在config / initializers / devise.rb中,我添加了以下行: require 'active_resource' config.http_authenticatable = true 这让我可以获取数据. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |