【问题标题】:rails controller do导轨控制器做
【发布时间】:2012-08-16 07:08:56
【问题描述】:

你好,我有一个 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是什么意思

【问题讨论】:

    标签: ruby-on-rails ruby oop


    【解决方案1】:

    def conversation 是一个动作,def stream_responder 是一个自定义函数,它将块作为输入并执行一些动作。 gon.stream 是 gon gem 的一部分,它有助于将变量的值作为 javascript 变量放入视图中,以便您以后可以在 javascript 文件中引用它们。此链接将帮助您了解 gon gem Gon Gem

    【讨论】:

      【解决方案2】:

      stream_responder do ... end 调用 stream_responder 方法传入一个块。您可以看到方法签名接受带有&amp;block 的块并使用yield 调用该块。

      也请参阅 Shreyas 的回答

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多