2012-08-16 98 views
0

嗨,我有一個Rails應用程序,這是控制器軌控制器做

class StreamsController < ApplicationController 

    def conversations 
    stream_responder do 
     @stream = Stream::Conversations.new(current_user, :max_time => max_time) 
     @stream_json = PostConversationPresenter.collection_json(@stream.stream_posts, current_user) 
    end 
    end 

def stream_responder(&block) 
    yield 
    respond_to do |format| 
     format.html do 
     gon.stream = @stream_json 
     render :nothing => true, :layout => "post" 
     end 
     format.mobile {authenticate_user!; render 'layouts/main_stream' } 
     format.json {render :json => @stream_json } 
    end 
    end 
end 

我想什麼做意味着stream_responder dogon.stream

回答

0

def conversation是一個動作和def stream_responder是一個自定義功能寫入了將塊作爲輸入並執行一些操作。 gon.stream是gon gem的一部分,它有助於將變量的值作爲javascript變量存儲在視圖中,以便稍後可以在JavaScript文件中引用它們。此鏈接將幫助您瞭解有關坤寶石Gon Gem

0

stream_responder do ... end調用stream_responder方法傳遞一個塊。您可以看到方法簽名接受一個帶有&block的塊,並使用yield調用該塊。

See Shreyas'answer too