2009-08-15 3 views
0

Rails 2.3.3Дисплей для каждого отдельного поста

базы данных и модели схемы

пользователя (идентификатор, имя, адрес электронной почты)

сообщений (идентификатор, при условии, сообщение, user_id)

Как я могу показать name пользователя, который создал этот пост?

 
#posts controller 
#index action - retrieves all posts in descending order. 
#I also want it to retrieve user information of that post 

def index 
    @posts = Post.all(:order => "created_at DESC") 
    respond_to do |format| 
     format.html 
    end 
end 
 
#partial _post.html.erb 

Posted by "??how can show the user name here??"

Я изменил user.rb и post.rb с активными звукозаписывающих ассоциаций и установить внешний ключ. i.e post.user_id ссылки user.id.

Но как я могу отображать информацию пользователя для каждого отдельного сообщения в действии index?

ответ

2

<% = post.user.name%> учитывая, что в почтовой записи есть действительный файл user_id.

+0

спасибо :) У меня было сомнение, что это что-то вроде этого и спасибо за ответ так быстро :) – Mike

+0

Добро пожаловать :-) Ознакомьтесь с http://railscasts.com и http://asciicasts.com (текстовую версию railscasts) для действительно хороших руководств по рельсам. –

1

Я бы назвал большую версию вашего вопроса следующим: «Как я могу определить отношения между моделями в моем приложении Ruby on Rails?»

Что я нашел наиболее полезным для этого, используя «script/console», чтобы изучить, что доступно.

В терминале, перейдите в корневые рельсах и введите «сценарий/консоль» это запустит новую командную строку, вы можете создавать объекты в.

В таком случае, вы можете ввести что-то вроде следующего выясните, что доступно.

p = Post.find(:first) 

p.user 

p.user.name 
0

Вы можете проверить это в своей консоли рельсов. Post.first.user.name

Вы хотите отобразить его в поле зрения, @ posts.each do | post | <% = post.user.name%> конец

Надеюсь, это поможет.

Смежные вопросы