ActiveRecord :: Ошибка связи - PullRequest
       0

ActiveRecord :: Ошибка связи

0 голосов
/ 11 октября 2010

Ошибка от 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 ]

3 голосов
/ 11 октября 2010

@permissions - это коллекция (массив).Попробуйте @permissions.first.role_id

2 голосов
/ 11 октября 2010
Разрешение

@ является массивом, поэтому вам нужно выполнить итерацию по нему

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

Если вам нужен только один возврат @permission:

@permission = Permission.where(["user_id = ? AND project_id = ?", @user.id, @project.id]).first
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...