ruby-on-rails - 渲染 : collection? 时如何访问集合的其他元素

标签 ruby-on-rails ruby renderpartial

我正在渲染一个对象集合,并且在我渲染的每个对象的部分中,我希望能够输出一些信息,这些信息需要引用我尚未迭代的集合中的一个项目:

用户 Controller .rb:

def index
  @users = %w(Nelson Lisa Milhouse Janey)
end

index.html.haml:

= render :partial => "user", :collection => @users

_user.html.haml:

- if next_user
  %p= "#{next_user} likes #{user}!"
- else
  %strong NOBODY LIKES MILHOUSE

是否有一个我不知道的固有访问器,我会用它代替“next_user”,并在局部调用以获取集合中任何其他对象的数据?

或者我注定要将“next_user”作为局部变量传入?

最佳答案

可以这样做:

= render :partial => "user", :collection => @users, :locals => { :users => @users}

然后您将可以访问@users

关于ruby-on-rails - 渲染 : collection? 时如何访问集合的其他元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17436713/

相关文章:

ruby - 读取提前结束的文件?

ruby-on-rails - 如何创建一个范围来查找 "Authors who have zero posts"?

ruby-on-rails-3 - rails 3 使用参数渲染部分

asp.net-mvc - 将参数传递给我的局部 View ?

twitter-bootstrap - Yii booster - renderPartial 弹出窗口的数据内容?

ruby-on-rails - Unicorn USR2重启挂机问题

ruby-on-rails - 预期响应会成功,但结果为 302

ruby-on-rails - 是否有专门针对 rails 5.2.3 的 Rubocop 配置?

ruby-on-rails - 如何更改 Rails 3.x 迁移中新列的位置

ruby-on-rails - Ruby on Rails - 创建和使用自定义方法