REST API uygulamamın isteklerini günlüğe kaydetmeye çalışıyorum. Ben bunun gibi, ray bildirimleri kullanıyorum, bu gibi http://railscasts.com/episodes/249-notifications-in-rails-3raylar etkinleştirme bildirimleri - Yanlış db Çalışma zamanı değeri
Bir sorunun ray bildirimleriyle nasıl çözüleceğini anlayamıyorum.
benim başlatıcı kodu
ActiveSupport::Notifications.subscribe "process_action.action_controller" do |name, start, finish, id, payload|
p name
p start
p finish
p id
p payload
end
Controller respond section
class PostsController < ApplicationController
# GET /posts
# GET /posts.json
respond_to :json, :html
....
end
Kontrolör oluşturmak eylem
def create
@post = Post.new(params[:post])
@post.save!
respond_with(@post, :location => nil)
end
Konsol çıkış
"process_action.action_controller"
2013-02-02 20:13:11 +0200
2013-02-02 20:13:11 +0200
"951b8999e9b71d4a8949"
{:controller=>"PostsController", :action=>"create", :params=>{"utf8"=>"✓", "authenticity_token"=>"1WugY9gh6ZCRXjfBTuckye3c9XDvtCqMQ2JdBpCo88s=", "post"=>{"name"=>"post3", "title"=>"post3", "content"=>"post3"}, "commit"=>"Create Post", "action"=>"create", "controller"=>"posts"}, :format=>:html, :method=>"POST", :path=>"/posts", :status=>302, :view_runtime=>nil, :db_runtime=>0}
sen görebileceğiniz gibi: db_runtime => 0
db_runtime => 4,727 Bunun sebebi nedirve nasıl yapabilirsiniz:
Ben
"process_action.action_controller"
2013-02-02 20:22:51 +0200
2013-02-02 20:22:51 +0200
"bf2a3173c08a0fd9008e"
{:controller=>"PostsController", :action=>"create", :params=>{"utf8"=>"✓", "authenticity_token"=>"1WugY9gh6ZCRXjfBTuckye3c9XDvtCqMQ2JdBpCo88s=", "post"=>{"name"=>"post3", "title"=>"post3", "content"=>"post3"}, "commit"=>"Create Post", "action"=>"create", "controller"=>"posts"}, :format=>:html, :method=>"POST", :path=>"/posts", :status=>302, :view_runtime=>nil, :db_runtime=>4.727}
görebildiğim İskele
def create
@post = Post.new(params[:post])
#@post.save!
#respond_with(@post)
respond_to do |format|
if @post.save
format.html { redirect_to @post, notice: 'Post was successfully created.' }
format.json { render json: @post, status: :created, location: @post }
else
format.html { render action: "new" }
format.json { render json: @post.errors, status: :unprocessable_entity }
end
end
end
varsayılan denetleyici eylem kodunu değiştirmek Ancak eğer İlk örnekte çalışmasını sağlamak için düzeltin mi? Teşekkürler!
UPD
bundle show rails
/Users/admin/.rvm/gems/ruby-1.9.3-p125/gems/rails-3.2.11
rvm current
ruby-1.9.3-p125
Ben respond_with kullandığınızda çalışmıyor öyle görünüyor UPD2
! Birisi bana nedenini söyleyebilir mi? Teşekkürler
merhaba Fivell, şimdi aynı şeyi üretmeye çalıştım. Burada response_with kullanarak ile ne alıyorum: Bildirim: process_action.action_controller 2013-02-06 13:59:21 +0600 2013-02-06 13:59:21 +0600 f2da3803410cccda546a {: controller => "PostsController",: action => "show",: params => {"action" => "show", "controller" => "posts", "id" => "12"},: format =>: html,: method = > "GET",: path => "/ posts/12",: status => 200,: view_runtime => 9.479712,: db_runtime => 0.267212} –
raylar 3.2.11, ruby 1.9.3p194 (2012-04- 20 revizyon 35410) [x86_64-linux] –
merhaba, GET ile çalışır, ancak POST – Fivell