Переменная ActiveRecord отдельно от полей столбца - PullRequest
0 голосов
/ 17 октября 2010

У меня есть таблица с полем user_id. В поиске я создал соединение на пользовательскую таблицу, чтобы получить имя пользователя как:

@question = Question.find(params[:id], :select=>"questions.*, 
users.username as username",:joins=>" inner join users on users.id = 
questions.user_id");

Я создал переменную экземпляра в Question классе с именем username. Но я не могу получить доступ к данным. Я хочу получить к нему доступ как question.username. кто-нибудь может мне помочь, как это сделать?

Также я не использую ассоциации, чтобы получить полное поле пользователя, потому что не нужно. Заранее спасибо.

1 Ответ

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

Как уже было сказано, когда вы используете «users.username в качестве имени пользователя», Rails создает метод «username», который должен возвращать информацию. Если вы создадите другую переменную экземпляра имени пользователя, теперь Ruby не будет уверен, какой из них использовать, когда вы ввели «question.username», и из-за ошибки при использовании переменной экземпляра (у которой нет значения).

Попробуйте удалить объявление переменной экземпляра, и оно должно работать:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...