Rails 3 получает имя пользователя по ID - PullRequest
2 голосов
/ 22 апреля 2011

как я могу получить имя пользователя по идентификатору в Rails 3? На мой взгляд, я называю <% = blog.user_id%> для идентификатора, но как мне получить имя там?

Контроллер по умолчанию является эшафотом.

Привет,

Mark

Ответы [ 5 ]

3 голосов
/ 22 апреля 2011

Убедитесь, что вы определили ассоциацию в вашей Blog модели.

belongs_to :user

И тогда, по вашему мнению, вы можете использовать <%= blog.user.name %>

2 голосов
/ 22 апреля 2011

Как правило, вы хотите избежать длинных цепочек точек, таких как post.user.name.Попробуйте:

class Post < ActiveRecord::Base
  belongs_to :user
  delegate :name, :to => :user, :prefix => true
end

Тогда в ваших представлениях вы можете позвонить

@post.user_name

, чтобы получить имя пользователя.Я думал, что выброшу это, так как это хорошая привычка, которую я пытаюсь включить в свой код.

1 голос
/ 22 апреля 2011

Вы должны использовать <%= blog.user.name %> и определили

belongs_to :user

в вашей модели блога. Вы должны работать с ..._id на уровне просмотра.

0 голосов
/ 01 декабря 2015

Попробуйте использовать <% = blog.user.try (: name)%>

0 голосов
/ 22 апреля 2011

вы должны научиться кодировать в Rails, это очень простой вопрос.

Рассмотрите возможность взглянуть на http://railsforzombies.org

Это отличный онлайн-учебник

...