我正在尝试使用下面的代码解析一个本地JSON文件。基本上,成功函数从未因为parsererror而被调用,但是当我重试解析responseText时,一切似乎都很好:
$.getJSON('./data/fixtures/teams.txt?callback=?', function(json) {
// never called because of parsererror
}.error(function(jqXHR, textStatus, errorThrown) {
console.log("incoming Text " + jqXH
我无法启动rails服务器。
我使用的是mac,使用的是、Rails3.0.5和Ruby1.8.7174补丁级别的全新安装。
当我尝试启动rails服务器时,我收到以下消息,但它永远不会启动。
MBP:test-ror stephen$ rails s
=> Booting WEBrick
=> Rails 3.0.5 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
Exiting
/User
我很难让比赛者抓住例外。控制器方法只需执行REST调用并获得带有id的结果,我想测试REST何时给出一个错误响应,这在rails中是JSON::ParserError。我想测试这个情况,所以我删除了REST调用并引发异常。
我知道这个事实,因为我得到了那个准确的错误,固执的工作。我相信当调用get时,我只需要一个匹配器来捕获错误。
In Controller
def show
@fruit = FruitsService::Client.get_fruit(params[:id])
end
规范/控制器/水果控制器_spec.rb
describe '#show'
我希望我的rails服务器在每次重新启动后自动启动,所以我将以下内容添加到我的.bashrc文件中
rvm use 1.9.2
cd /home/user/myapp
rails server
这样,服务器就不会在重新启动之后自动启动,我必须手动启动它。
此外,当我登录启动服务器时,我会看到以下消息
Using /usr/local/rvm/gems/ruby-1.9.2-p290
/usr/local/rvm/rubies/ruby-1.9.2-p290/bin/ruby: symbol lookup error: /usr/local/rvm/gems/ruby-1.9.2-p290/ge
查看此错误消息
/Users/abc/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/json/common.rb:155:in initialize': A JSON text must at least contain two octets! (JSON::ParserError) from /Users/abc/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/json/common.rb:155:innew‘
ruby在什么情况下会使用两个版本号?
在本例中,我看到ruby-2.2.2和2.2.0
我有一个简单的管理控制器,我试图在#reset操作被调用后显示一条消息,以便在操作完成时给管理员反馈(当它执行de seed.rb文件时) 该操作执行得很好,但我无法让它显示msg,并且我在服务器日志中收到以下消息: ActionController::UnknownFormat (Api::V1::AdminController#reset is missing a template for this request format and variant.
request.formats: ["application/json"]
request.variant: [])
我是Rails和web开发的初学者。我正在选修一门在线课程,但一直没能通过这个讲座。
我的问题是我的courses_controller,索引操作。
控制器: my_first_app/controllers/courses_controller.rb
class CoursesController < ApplicationController
def index
@search_term = 'jhu'
@courses = Coursera.for(@search_term)
end
end
模型:my_first_app/Model/Cou
我使用Rails 4.2.3和Nokogiri从网站获取数据。当我没有从服务器得到任何响应时,我想执行一个操作,所以我有:
begin
content = open(url).read
if content.lstrip[0] == '<'
doc = Nokogiri::HTML(content)
else
begin
json = JSON.parse(content)
rescue JSON::ParserError => e
content
end
end
rescue Net::Ope
我正在将我的应用程序从Rails 3.2.8升级到Rails 4.2.4。我有一个序列化的表'editorials‘的'extras’属性
store :extras, accessors: [:attr1, :attr2, :attr3], coder: JSON
#The way it is stored in **Rails 3** is
---
:attr1: value
:attr2: value
:attr3: value
#The way it is stored in **Rails 4** is
我能够成功地运行result.as_json将rails对象(“结果”)转换为JSON散列。但是,我无法使用JSON.parse将JSON哈希转换回rails对象
以下是我所看到的错误:
[5] pry> JSON.parse(result.as_json)
TypeError: no implicit conversion of Hash into String
from /Users/x/.rvm/gems/ruby-2.2.1@x/gems/json-1.8.3/lib/json/common.rb:155:in `initialize'
我试图解析的字符串是:
{\"user_name\":\"test@test.com\",\"pass\":\"bla\"}
[3] pry(#<Flockers::WebApp>)> JSON.parse(request.body.read)
JSON::ParserError: A JSON text must at least contain two octets!
from c:/WebTools/Ruby193/lib/ruby/gems/1.9.1/gems/json_pure-1.8.1/lib
我正在设置一个url来接收来自第三方API的webhooks,但是我很难按照API的要求验证我的URL。API将发布带有验证令牌的JSON数据到我的url,但是当我看到post进来时,Rails说控制器正在以文本而不是JSON的形式处理它,而且rails试图在我的控制器有机会与它交互之前将JSON转换成哈希。
下面是我在请求邮件时看到的情况:
Processing by WebhooksController#receive as TEXT
Parameters: {"id"=>"5bb2181f-8b7d-4ba2-80a3-072818bb531
我正在编写一个测试,用Rspec检查Rails API的删除请求是否无效。
这就是我所拥有的:
context 'invalid id number' do
it 'returns success: false' do
xhr :delete, :destroy, id: 999999999999999999
expect(JSON.parse(response.body)['success']).to be_false
end
end
Postgres抛出某种整数溢出异常(这是应该的),但在我的规范中,我无法查看
我收到了这个错误,我找不到这个问题的合理答案,所以我想我应该写一个问题的摘要。
如果您在irb中运行此代码片段:
JSON.parse( nil )
您将看到以下错误:
TypeError: can't convert nil into String
我希望函数返回的是nil,而不是TypeError。如果您使用to_s转换所有输入,那么您将看到八位字节错误:
JSON::ParserError: A JSON text must at least contain two octets!
这就很好了。如果你不知道二进制八位数是什么,请阅读这篇文章以获取摘要和解决方案:
解决方案
您要传
每当我运行服务器时,使用
rails s
我得到了这样的信息:
=> Rails 3.1.0 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2012-08-12 19:57:32] INFO WEBrick 1.3.1
[2012-08-12 19:57:32] INFO ruby 1.9.3 (2012-04-20) [i686-linux]
[2012-08-12 19:57:32] W