如何在红宝石上传递和访问数据到局部视图?

问题描述 投票:0回答:1

我正在Rails项目中的ruby中添加新的局部视图,并希望将一些其他数据传递给局部。我下面有用于渲染视图的代码。我知道这是将数据(在我的情况下为id)传递到局部视图的方法。我不确定这是否是最好的方法,因为我是rubyonrails的新手。如何访问我的局部视图文件?

render "index" , :locals => {:id => params[:id]}
ruby-on-rails
1个回答
0
投票
通常完成的操作是这样的:

@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 %>
    
© www.soinside.com 2019 - 2024. All rights reserved.