ActiveRecord ::关系错误

时间:2010-10-11 07:11:18

标签: ruby-on-rails ruby-on-rails-3

Rails出错,这对你有意义吗?

<%= @permission.inspect %> outputs: [#<Permission project_id: 3, role_id: 2, user_id: 13>]

<%= Role.find(@permission.role_id) %>

undefined method `role_id' for [#<Permission project_id: 3, role_id: 2, user_id: 13>]:ActiveRecord::Relation

由于某种原因,这不起作用:@permission.role.name

任何想法?感谢

2 个答案:

答案 0 :(得分:3)

@permissions是一个集合(Array)。试试@permissions.first.role_id

答案 1 :(得分:2)

@permission是一个数组,所以你需要迭代它

<% @permission.each do |perm| %>
  <%= Role.find(perm.role_id) %>
<% end %>

如果只想要一个@permission返回:

@permission = Permission.where(["user_id = ? AND project_id = ?", @user.id, @project.id]).first