已解決:我做了一些錯誤的事情,所有這些都涉及我的控制器接收數據。關於發送數據的方法沒有任何問題。如何通過外部RESTful呼叫插入RAILS db
1:我不使用@ report.save在我reportController#創建
2:我不傳遞PARAMS [:報告]在我的控制器
3:我添加 「skip_before_filter:verify_authenticity_token」到我的應用程序控制器來停止日誌中的警告。 解決。數據插入成功。
===== ORIG。下面的問題=====
我需要一個外部程序來發佈一個命令,將東西插入Ruby on Rails數據庫。 我明白這一點的安全含義,但由於這個應用程序並非面向公衆,所以它不是真正的問題。
這是我期待實現工作流程:
REST客戶端>扶手>創建新的數據庫錶行
爲了舉例:我route.rb文件包含
resources :reports
所以我能夠使用這些路線CRUD。我似乎不能讓我的休息客戶端正常工作。
更新: 我試過一個RUBY休息客戶端和捲曲命令在一個,無濟於事。
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"}
解決:我做了幾件事情是錯誤的。 1:沒有在我的reportController中使用@ report.save#create – Pandem1c 2013-02-14 00:37:31