已解决:我做错了一些事情,所有这些都涉及我的控制器接收数据。以下发送数据的方法没有任何问题。
1:我没有在我的 reportController#create 中使用@report.save
2:我没有在我的控制器中传递 params[:report]
3:我将“skip_before_filter:verify_authenticity_token”添加到我的应用程序控制器以停止日志中的警告。解决了。数据插入成功。
=====ORIG。下面的问题=====
我需要一个外部程序来发出将内容插入 Ruby on Rails 数据库的命令。我理解这对安全的影响,但因为这个应用程序不是面向公众的,所以这不是一个真正的问题。
这是我希望实现的工作流程:
REST 客户端 > RAILS > 创建新的 DB TABLE 行
举例来说:我的 route.rb 文件包含
resources :reports
所以我能够使用这些路线进行 CRUD。我似乎无法让我的休息客户正常工作。
更新:我在 ONE 中尝试了一个 RUBY 休息客户端和 curl 命令,但无济于事。
require 'rest_client'
require 'json'
hash_to_send = {:test_name => 'Fake Name', :pass_fail => 'pass',:run_id => 1111, :category => 'Fake Category'}
#formulate CURL attempt
myCommand = "curl -H 'Content-Type: application/json' -X POST http://localhost:8889/report.json -d #{hash_to_send.to_json} > deleteme.html"
#execute CURL attempt
`#{myCommand}` # RESULT--> 795: unexpected token at 'test_name:Fake Name'
#Make Ruby rest client attempt
response = RestClient.post( "http://localhost:8889/report.json",
hash_to_send.to_json,
:content_type => :json, :accept => :json
)
#debug info
puts myCommand # Returns --> {"test_name":"Fake Name","pass_fail":"pass","run_id":1111,"category":"Fake Category"}