Я новичок в рельсах, и я стремлюсь изучать ассоциации.
Я использую Rails версии 3.
У меня есть модель пользователя и модель поста. Мне нужно, как показано ниже:-
Модели
class User < ActiveRecord::Base
has_many :post
end
class Post < ActiveRecord::Base
belongs_to :user
validates_associated :user
end
Схема
ActiveRecord::Schema.define(:version => 20101016171256) do
create_table "posts", :force => true do |t|
t.integer "sell_or_buy"
t.string "title"
t.text "body"
t.integer "user_id" <<<<<<< I thought this will help to associate to user model.
t.datetime "created_at"
t.datetime "updated_at"
end
create_table "users", :force => true do |t|
t.string "name"
t.string "email"
t.string "password"
t.integer "rank"
t.datetime "created_at"
t.datetime "updated_at"
end
end
Я думал, сохраняя поле user_id
и belongs_to
ассоциация выполнит мою работу, но
, когда я попытался отобразить все сообщения, принадлежащие пользователю, следующим образом:
<%= @user.posts %>
в моем файле show.html.erb.Но я получаю только следующее отображение: -
Name: saran
Email: saran.saran007@gmail.com
Password: abcd
Rank:
Edit | Back
Posts
#<Post:0xb69f47f8>#<Post:0xb69f3024>
Я хочу отображать связанные посты "title" и "body" в удобочитаемом формате.
Также я могу создать сообщение с идентификатором user_id, в котором нет пользователя !.validates_associated :user
также не работает, пожалуйста, помогите мне.