ruby-on-rails - 如何将一些参数传递给默认渲染方法?

标签 ruby-on-rails ruby ruby-on-rails-3 parameters rendering

我正在使用 Ruby on Rails 3.0.10,我想将一些参数传递给默认渲染方法。也就是说,如果我有这样的代码

def show
  ...

  respond_to do |format|
    format.html # This, by default, renders the 'show.html.erb' file
   end
end

我想传递一些参数,也许像(注意:以下不起作用)

def show
  ...

  respond_to do |format|
    # Here I would like to add some local objects that will be available in the 'show.html.erb' template file
    format.html { render ..., :locals => { :content => { :value => 'Sample value' } } }
   end
end

所以在 show.html.erb 模板中,我可以制作如下内容:

<%=
  content[:value]
  # => 'Sample value'
%>

简而言之,我想以与 :locals 键相关的部分模板渲染相同的方式传递参数值:

render :partial, 
       :locals => {
          :content => { :value => 'Sample value' }
       }

我该怎么做?

最佳答案

您完全可以按照您的描述进行操作。我在这里查了http://apidock.com/rails/ActionController/Base/render在“渲染模板”标题下,我自己试了一下。您每天都会学到新东西。

你可以简单地做

def show
  respond_to do |format|
    format.html { render :locals => { :content => { :value => 'Sample value' } } }
  end
end

我会考虑为什么您需要这样做而不是使用实例变量。也许有更好的方法。

关于ruby-on-rails - 如何将一些参数传递给默认渲染方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7327181/

相关文章:

ruby-on-rails - 关于使用 Ruby on Rails 的 HTTPS 连接的建议

ruby-on-rails - has_many :messages where user is recipient or author in one query

javascript - SpineJS url() 可以支持 Rails 中的嵌套资源吗?

ruby-on-rails - 在关联中引用集合中的单个对象

ruby-on-rails - 如何创建独特的延迟工作

ruby-on-rails - 编辑Checkout Controller 的 Action

ruby - !nil 没有方便的方法吗?

ruby-on-rails - 使用 :attr_accessible with role-based authorization

ruby-on-rails - 使用 RMagick 将 PDF 文件转换为 PNG 并保持高质量的最佳方法是什么?

ruby-on-rails - 最佳 Ruby on Rails 前端开发攻略