У меня на завтра запланированы ассоциации, я пока не дошёл до них
У меня на завтра запланированы ассоциации, я пока не дошёл до них
No-Tactic, ага их.
просто смотри, я вижу, что ты в моделе перечислил аттрибуты name, email, text без указания типа, но в файле миграции они имеют тип string, а также еще добавилось 2 поля даты. Откуда при миграции мы узнаем, что name это string? или если мы явно не указали тип данных, то оно по дефолту делает string?
изза этой магии мне и не понравился RoR
flaky (25.07.2013 / 20:02)Ну дак мы же сами написали в миграции, что name это string
просто смотри, я вижу, что ты в моделе перечислил аттрибуты name, email, text без указания типа, но в файле миграции они имеют тип string, а также еще добавилось 2 поля даты. Откуда при миграции мы уз
No-Tactic, ясн. просто я привык в джанге/алхимии что сразу в моделе описываеться тип данных, поэтому мне это в диковену. да и как то не удобно![]()
flaky, очень удобно)
Плюшки из Rails
1) создание приложения: пишем в консоли
rails new appnamerails g controller contoroller_namerails g model model_nameresources :postsflaky, тип связи has one/belongs to (one-to-one)
допустим, у нас есть магазин.
В бд две таблицы Users, Carts. логично предположить, что у одного юзера одна корзина
В миграции для Users никаких дополнительных полей не нужно
В миграции для Carts добавляем поле типа Integer с названием user_id
в модели user, в контексте класса пишем
has_one :cartbelongs_to :userпродолжаем с магазином
связь has many/belongs to (many-to-one)
у нас есть пользователи. Каждый пользователь может создать много заказов
в миграции для Users оставляем все так же, в миграцию orders пишем поле user_id
в модели user пишем
has_many :orders # именно orders т.к заказов многоbelongs_to :userВопрос к администрации: можно ли будет тут ссылку разместить на свеженький проект на рельсах?
пока пилил бложек (без уроков всяких и прочей ереси) было все легко и непринужденно, залил на сервак и начались неожиданности:
оказывается, в production окружении, все js и css файлы минимизируются и кэшируются в папочку public, и умные рельсы берут их оттуда. я долго парился с настррйкой, чтоб это все было автоматом при изменении в файлах. не получилось, минимизируем командой в консольке.
в продакшен окружении после каждого изменения в коде приходится перезапускать nginx и passenger