해결 : 몇 가지 잘못된 작업을 수행했습니다.이 모든 작업에는 데이터를 수신하는 컨트롤러가 필요했습니다. 아래의 데이터 전송 방법에는 문제가 없습니다.외부 RESTful 호출을 통해 RAILS DB에 삽입하는 방법
1 : 내 reportController 번호에 @를 report.save를 사용하지 않은 만들
2 :
3 내 컨트롤러에서 [보고서] : 나는 PARAMS을 통과하지 않은 내가 "skip_before_filter : verify_authenticity_token"추가 로그에서 경고를 중지하려면 내 애플리케이션 컨트롤러에 연결하십시오. 해결되었습니다. 데이터 삽입에 성공했습니다.
===== ORIG. 아래 질문 =====
Ruby on Rails 데이터베이스에 내용을 삽입하는 명령을 실행하려면 외부 프로그램이 필요합니다. 본인은이 문제가 보안에 미치는 영향을 이해하고 있지만이 신청서는 공개 된 것이 아니기 때문에 실제로 문제가되지 않습니다. >
REST 클라이언트> 레일을 예를의 목적을 위해 새로운 DB 테이블 행
를 만들 :
이 내가 달성하기 위해 찾고 워크 플로 내 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 # create에 @ report.save를 사용하지 않았습니다. – Pandem1c