2010-03-13 3 views
1

Хорошо, у меня есть две модели: сообщения и комментарии. Как вы можете думать, у комментариев есть столбец: post_id.рельсы: лучший способ хранить комментарии в mysql

Мои модели

Комментарии

  • BELONGS_TO: пост

сообщение

  • has_many: комментарии

Итак, это довольно простая ассоциация, но у меня есть некоторые проблемы с заказом комментариев. в первый раз, когда я создаю свой файл миграции файлов, я просто добавляю столбец: position. В этой колонке указывается позиция комментария в сообщении.

Но теперь я думаю, что, где более хороший способ сделать это.

так я не могу сделать мой ВЫБИРАЕМ:

1) использует t.column: datatime: created_at,: по умолчанию => Time.now()

2) или использовать временные метки? это неоткрыто для меня, пожалуйста, расскажите мне о своем exp.

ответ

3

yar is right. Нет необходимости иметь position колонки, если вы не хотите, чтобы изменить порядок ваших комментариев, которые я сомневаюсь, что вы :) Просто сделайте

has_many :comments, :order => "created_at DESC" 

и каждый раз, когда вы используете @post.comments они будут отсортированы по дате.

+0

+1 за то, что я прав :) –

0

В Rails все модели автоматически получают поле created_at. Вы можете просто заказать.

+0

Я знаю. но мне не нужен столбец update_at, потому что пользователи не могут обновлять комментарии weir: D – vorobey

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