У меня есть модель и таблица, которые, я считаю, отлично подходят для STI. Моя таблица называется Finances
и имеет два типа: Доходы и расходы. Кроме type
есть еще три столбца: description
, amount
и date
.Альтернатива Rails Single Table Inheritance (STI)?
Я очень нервничаю, используя STI в Rails, так как это требует некоторого взлома. Я слишком новичок в Rails, чтобы взломать код. Хотя это работает, я не понимаю. Это кажется опасным.
Мой вопрос: как настроить свою модель, контроллер и просмотр, если я НЕ использую STI? Любые лучшие практики для групповых элементов в моей модели? Или я просто делаю Finances.where("type = 'Income'")
перед настройкой представления?
Редактировать: Я сделал gist, чтобы показать код, с которым я работаю. Когда я запускаю его, я получаю ошибку:
undefined method `incomes_path' for #<#<Class:0x007fbc95f60b40>:0x007fbc93883220>
Хорошо, вы убедили меня продолжать продвигать STI. Я думаю, что у меня есть часть модели, но я смущен, когда использую ее в контроллере или в представлении. Если вы не возражаете, я бы хотел опубликовать некоторый код в Github позже сегодня, чтобы вы могли увидеть, где я ошибаюсь. – Casey
вы также можете опубликовать его на http: //codereview.stackexchange.com – kr1
Эй, извините за пост зомби, но как вы думаете, @ kr1 полиморфного наследования? Для справки я делаю приложение с врачами и больницами, двумя отдельными группами пользователей. Вы использовали те или еще STI по-прежнему Rails? –