【发布时间】:2013-08-06 09:37:42
【问题描述】:
我在 Users 控制器中有名为 dashboard 的操作。 是这样的:
def dashboard
@data = @user.datas.includes(:user).includes(:images)
render 'datas/show'
end
我收到错误#ActiveRecord::Relation:0x007fc702d34868 的未定义方法“用户”> 在这一行:
= render 'users/header', :user => @data.user
这怎么可能?在@data 变量中是需要的一切......
【问题讨论】:
-
您的
@data变量包含多条记录,请改用= render 'users/header', :user => @data.first.user,甚至,您已经拥有它,变量@user(还有@variables在控制器的操作、视图和关联之间共享)部分,因此您不必将变量@user或@data传递给此部分) -
@MrYoshiji - 我知道有些人在 cmets 中回答问题,但通常是在几乎微不足道的答案的情况下。我很好奇你为什么在这种情况下选择不使用“应答”机制。
-
@PeterAlfvin 因为我懒得“格式化”一个好的答案。注释不需要粗体、缩进或示例。我尝试先发表评论,如果提问者想要更多信息,我会发布答案
-
@user984621 我的回答有帮助吗?
标签: ruby-on-rails ruby templates model render