Какое лучшее соглашение Rails для этого? - PullRequest
1 голос
/ 03 апреля 2011

Допустим, у вас есть ресурс, который создается и отображается полностью в представлении другого ресурса (например, комментарии или теги). Стоит ли вам делать это своим собственным ресурсом, или было бы лучше сделать его вложенным? Кроме того, вы должны использовать виртуальные атрибуты?

Я знаю, что этот вопрос является общим, но я не ищу конкретного ответа, просто общее объяснение того, когда каждый метод предпочтителен.

Ответы [ 2 ]

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

Некоторые общие мысли:

  • Вложенные и независимые ресурсы не обязательно являются взаимоисключающими.
  • «Создано и отображено полностью в виде другого ресурса» - сильное утверждение, которое может в конечном итоге оказаться неверным. Например, теги: хотите ли вы когда-либо список всех статей с определенным тегом. это не имело бы смысла вложенным.
  • Вложенность ниже второго или третьего уровня станет более сложной задачей, чем стоит. Некоторые скажут, что даже первое вложение - это больше проблем, чем его ценность.
  • Для приложения с одним доминирующим ресурсом стоимость добавления других независимых ресурсов пропорционально выше. Маленькие приложения могут обойтись без сложностей, с которыми не могут справиться большие приложения.
  • Если у вас нет хорошего самочувствия, напишите несколько ресурсов в каждую сторону. Ответы в лучшем случае будут оправдывать мнения, которые, вероятно, лучше всего развивать в себе на основе опыта.
1 голос
/ 03 апреля 2011

Вообще говоря, было бы более полезно сделать его вложенным ресурсом.Это более "RESTful" способ.Это также даст вам доступ к родительскому ресурсу, не указывая его в качестве параметра.Однако вы не хотите вкладывать ресурсы глубиной более одного уровня, как отмечено в Руководстве по маршрутизации Rails .

...