Попытка получить последнюю электронную почту current_user из строки - PullRequest
0 голосов
/ 19 марта 2012

Сохранение current_user в строке после того, как они отправили комментарий

<%= f.text_field :commenter, :value => current_user, :readonly => "readonly" %>

Так что я могу получить электронное письмо в виде моего комментария

<td><%= comment.commenter.email %></td>

, но я получаю

undefined method `email' for "#<User:0x7f26828>":String

В любом случае, чтобы это исправить?

Ответы [ 2 ]

3 голосов
/ 19 марта 2012

Вы хотите сохранить весь объект в HTML ввод?Это не должно работать, потому что вы гладите только строку #<User:0x7f26828>.Вы должны использовать соотношение между моделью:

class Commenter < ActiveRecord::Base
    has_many :comments
end

class Comment < ActiveRecord::Base
    belongs_to :commenter
end

В форме:

<%= f.text_field :commenter_id, :value => current_user.id, :readonly => "readonly" %>

И добавить commenter_id столбец к Comment модели.Тогда при создании просто установите commenter_id и все должно работать.

0 голосов
/ 19 марта 2012

Использовали ли вы attr_accessible в вашей модели пользователя?

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