Новости базы данных -> Пользователь, связанный с RoR - PullRequest
0 голосов
/ 13 февраля 2012

Я только начинаю разрабатывать на Ruby on Rails, и у меня возник вопрос о взаимосвязи сложных моделей.

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

-- USER --
t.integer   :uid
t.string    :username
t.string    :password
t.string    :email
t.string    :firstname
t.string    :lastname
t.integer   :promo
t.integer   :access_level
t.datetime  :birthday
t.datetime  :last_login


-- NEWS --
t.integer   :news_id
t.integer   :writter_id
t.datetime  :date
t.string    :title, :limit => 50
t.string    :category, :limit => 10
t.text      :content
t.valided   :boolean
t.onscreen  :boolean

Итак, я запрашиваю новое, используя:

def self.getLastNews(max_entry = 5)
     nws = News.order(:date).limit(max_entry).map
end

1 Ответ

1 голос
/ 13 февраля 2012

Таршер прав, ты усложняешь свою жизнь ...

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

если у вас будет внешний ключ в новостной модели с именем user_id или writer_id, но вам нужно будет добавить ассоциацию к новостной модели как:

belongs_to :writer, :class_name => "User"

затем, чтобы включить всех пользователей, когда вы получаете новостную модель, вы бы назвали новости так:

News.includes(:writer)

но на самом деле вы должны стараться следовать соглашениям рельсов, так как это сделает вашу жизнь проще ... вам не нужно, это очень гибко, но фреймворк основан на соглашении о конфигурации.

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