我正在Rails项目中的ruby中添加新的局部视图,并希望将一些其他数据传递给局部。我下面有用于渲染视图的代码。我知道这是将数据(在我的情况下为id)传递到局部视图的方法。我不确定这是否是最好的方法,因为我是rubyonrails的新手。如何访问我的局部视图文件?
render "index" , :locals => {:id => params[:id]}
@id_param = params[:id]
在视图中的任何地方,任何地方都可以使用@id_param
:
<%= @id_param %>
我在这里选择了
@id_param
作为名称,而不是@id
来提供更多上下文,因为@id
本身可能会提示“什么ID?”的问题
如果要执行locals
方法,则:
render 'index', locals: { id: params[:id] }
此处为了简单起见,使用Ruby 1.9哈希符号,而原始示例中已过时的1.8样式。这将产生一个称为
id
的局部变量,该变量可以在该视图中使用,例如:
<%= id %>