Обновите строковый атрибут в Rails - PullRequest
1 голос
/ 30 сентября 2010

Я пытаюсь обновить строковый атрибут в базе данных.

Я пытался использовать update_attribute, но он не работает.Он работает для целочисленных атрибутов, но не для строковых атрибутов.

Как мне решить эту проблему?

РЕДАКТИРОВАТЬ

Пример кода:

@post = Post.find(params[:post_id])
@comment = @post.comments.create!(params[:comment])
@comment.update_attribute(:commenter,User.find_by_id(session[:user_id]).name)

1 Ответ

3 голосов
/ 30 сентября 2010

Прежде всего, есть ли причина, по которой вы сохраняете имя в виде строки в базе данных? Обычно вы проходите через ассоциацию, чтобы получить имя.

@comment.user.name

Я бы действительно предложил вам добавить user_id в таблицу комментариев и затем использовать:

@comment.user = User.find_by_id(session[:user_id]) 

или

@comment.update_attribute(:user_id, session[:user_id])

чтобы обновить комментатор.

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