웹 양식이 아닌 URL 내에 모든 매개 변수를 전달하여 올바른 레코드를 만들려면 올바른 구문은 무엇입니까?
다른 컴퓨터 시스템에서 URL을 연결하고 내 Rails 앱에서 새 레코드를 만들 수 있기를 바랍니다.
그러나 "점수"에서 새 레코드를 만들려고 시도하면 레일스에서 추가하지 않습니다.
http://myapp.heroku.com/scores?message_id=51&subscriber_id=167&amount=3&method=post
새 점수 레코드에 추가 할 원하는 특성은 message_id, subscriber_id 및 amount입니다.
before_filter :authenticate_user!, :except => [:new, :create]
:
여기 여기
class Score < ActiveRecord::Base
belongs_to :message
belongs_to :subscriber
end
점수 컨트롤러, 플러스이 모든 표준 레일 CRUD 스캐 폴딩 (I 궁리를 실행 해요) 한 내 점수 모델 년대 Heroku가이
2012-01-26T18:27:34+00:00 app[web.1]: Started GET "/scores?message_id=51&subscriber_id=167&amount=3&method=submit" for 122.17.234.171 at 2012-01-26 10:27:34 -0800
2012-01-26T18:27:34+00:00 app[web.1]: Processing by ScoresController#index as HTML
2012-01-26T18:27:34+00:00 app[web.1]: Parameters: {"message_id"=>"51", "subscriber_id"=>"167", "amount"=>"3", "method"=>"post"}
2012-01-26T18:27:34+00:00 app[web.1]: Rendered scores/index.html.erb within layouts/application (3.4ms)
2012-01-26T18:27:34+00:00 app[web.1]: Completed 200 OK in 16ms (Views: 4.2ms | ActiveRecord: 10.6ms)
2012-01-26T18:27:34+00:00 heroku[router]: GET postopmobile.heroku.com/scores dyno=web.1 queue=0 wait=0ms service=55ms status=200 bytes=7605
로그입니다
마지막으로 위의 URL 끝에 method = submit을 시도해도 작동하지 않습니다.
의견이 있으십니까? 문법적 문제인지 아니면 레일스 문제가 더 깊은 것인지 파악하려고합니다.
감사합니다.
안녕하세요. 감사. 나는 GET에 전혀 결혼하지 않았습니다. 사실 POST를 사용하고 싶습니다. Rails가 POST를 원한다는 것을 깨닫게하는 방법을 모르겠습니다. 나는 그것을 주문의 길에서 하느냐? 해당 맞춤 URL을 기존 CRUD 만들기 작업으로 지정합니까? – DougN
레일스는 기본적으로 POST를 사용합니다. 보낸 사람 (Ruby 응용 프로그램입니까?)은 요청을 POST로 보내야합니다. CURL (또는 HTTP 라이브러리)을 사용하여 POST를 만들 수 있습니다 (http://superuser.com/questions/149329/how-do-i-make-a-post-request-with-the-curl-commandline 참조). -수단). –