我正在使用 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/