Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在rails控制台中测试json到路由和控制器_Ruby On Rails_Json - Fatal编程技术网

Ruby on rails 如何在rails控制台中测试json到路由和控制器

Ruby on rails 如何在rails控制台中测试json到路由和控制器,ruby-on-rails,json,Ruby On Rails,Json,我在routes.db中设置了一个控制器来处理json请求。如何在rails控制台中测试它是否工作 >> app.post "/requests" 这是我的路线 post '/requests', to: 'requests#create', :defaults => { :format => 'json' } 控制器 class RequestsController < ApplicationController respond_to :json def

我在routes.db中设置了一个控制器来处理json请求。如何在rails控制台中测试它是否工作

>> app.post "/requests"
这是我的路线

post '/requests', to: 'requests#create', :defaults => { :format => 'json' }
控制器

class RequestsController < ApplicationController
  respond_to :json

def create
if @object.save
  render json: { success: t(:success_message) }, status: :ok
else
  render json: { errors: @object.errors.joins(', ') }, status: :unprocessab$
end
class RequestsController
结束
结束

可以在rails控制台中执行类似操作吗

>> app.post "/requests"
如果您得到一个返回的对象,那么将上述内容保存到一个变量并查看其内容


希望有帮助

我使用高级Rest客户端(ARC)Chrome插件:

然后只需启动rails服务器(
rails s
)并弹出到ARC的路径(即
localhost:3000/请求
)。使用ARC,您可以选择获取、发布、放置和更多!你甚至可以将参数添加到你的帖子中,这听起来像是在你的案例中需要的


然后在任一控制台中,观察rails服务器的运行情况,或者查看ARC中返回的json输出。

收到错误消息。[6] pry(main)>app.post“requests”URI::InvalidURIError:错误的URI(不是URI?):from/usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/uri/rfc3986_parser.rb:67:在'split'中,您可以看到是否需要附加/before-like'/requests'Processing by-requests-controller#create-as-JSON在2ms nomethodor中完成500个内部服务器错误(未定义的方法
save'for-nil:NilClass):app/controllers/requests\u controller.rb:4:in
createyeah,这是否意味着我需要在rails控制台中发布一个对象?您首先从哪里获取@object?