2013-10-08 3 views
1

Я сосредоточен на перемещении своей логики в свои модели. Я уже включил Stripe Payments в мое приложение Rails 4, и взаимодействие с API Stripe позаботится об одном из моих стандартных (настольных) моделей.Рельсы «без стола» Модель

Однако, я только начинаю думать о том, должен ли я представить таблицу менее модель для этого сценария (возможно stripe.rb), чтобы заботиться о вызовах API, создавать новые клиенты нашивки, обновления карт и т.д.

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

ответ

2

Вы можете извлечь логику для api в служебный объект.

Это довольно просто. Просто создайте папку службы в вас каталог приложений, любые * .RB файлы вы размещаете там будет автоматически загружаются по умолчанию в рельсах 4.

выписка следующая статья для большего количества идей

http://blog.codeclimate.com/blog/2012/10/17/7-ways-to-decompose-fat-activerecord-models/

+0

Выглядит интересно - будет ближе поближе к этому вечеру - спасибо – tommyd456

+0

У меня есть службы, собирающиеся общаться с Stripe, но любая идея, как улавливать ошибки в классе обслуживания и возвращать их в контроллер? Например, я не могу использовать Flash или 'errors.add', поскольку получаю сообщение об ошибке. – tommyd456

+0

вы можете «включить проверку ActiveModel :: Validations» http://api.rubyonrails.org/classes/ActiveModel/Validations.html –

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