所有創建一個新的紀錄:的Rails 3:通過URL
什麼是一個新的記錄的正確語法與傳遞所有參數的URL裏面,而不是從一個Web表單創建?
我想要一個不同的計算機系統能夠連接一個URL並在我的Rails應用程序中創建新記錄。
但是,當我嘗試在「分數」中創建新記錄時,Rails不會添加它。
http://myapp.heroku.com/scores?message_id=51&subscriber_id=167&amount=3&method=post
如果所需的屬性添加到一個新的得分紀錄是MESSAGE_ID,subscriber_id和金額。
這裏的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
這裏是我的分數模型
class Score < ActiveRecord::Base
belongs_to :message
belongs_to :subscriber
end
比分控制器具有所有標準的Rails CRUD腳手架,再加上這個(我正在制定):
before_filter :authenticate_user!, :except => [:new, :create]
最後,在上面的URL末尾嘗試method = submit也不起作用。
有什麼想法?我試圖弄清楚這只是一個語法問題還是一個更深入的Rails創建問題。
謝謝。
嗨。謝謝。我根本沒有結婚,實際上我想用POST。我使用不知道如何讓Rails實現我想要的POST。我是否在自定義路線中這樣做?我是否將該自定義網址指向現有的Create CRUD操作? – DougN
Rails默認使用POST。發件人(是Ruby應用程序?)必須以POST的形式發送請求。您可以使用CURL(或任何HTTP庫)進行POST(請參閱http://superuser.com/questions/149329/how-do-i-make-a-post-request-with-the-curl-command-line -工具)。 –