Если вы объявляете attr_accessor
, вы можете использовать его как virtual attribute
, который в основном является атрибутом модели, который не сохраняется в базе данных.
Пример случая: вы объявляете attr_accessor :password
в своей модели User
, чтобы вы могли использовать его в качестве поля в новой пользовательской форме. Когда вы получите их пароль в соответствующем действии create
, вы можете получить hashed_password
, сохранить его в базе данных и удалить указанный password
(что делается автоматически в конце запроса).
В большом проекте лучше всего иметь несколько репозиториев.
Прокси-сервер / кеш компании будет хранить загруженные jar-файлы локально, чтобы компания не зависела от доступности внешних сайтов . Доступ к нему осуществляется как к обычному репозиторию, но он является шлюзом к общедоступным репозиториям.
Репозиторий компании для выпущенных библиотек ограничен, он содержит внутренние библиотеки. Это фреймворки, которые «продвигаются» из репозиториев проектов в репозиторий компании, потому что они могут быть полезны для всех проектов.
Репозитории проектов содержат артефакты, используемые проектом. Он может содержать артефакты подпроекта и так далее. Каждый разработчик в проекте должен иметь возможность опубликовать здесь что-нибудь.
Где вы разместите настройки, - дело вкуса. Я кладу эти вещи в settings.xml.
Шаг первый : Установите nexus на сервер в вашей локальной сети. Он отличный - простой в установке (правда, всего пару минут!) И надежный. У нас около 50 инженеров и множество серверов CI, которые работают над этим весь день, и он работает стабильно в течение многих месяцев. Допустим, вы установили его на сервере под названием nexus.local в своем DNS.
Шаг второй : Скопируйте файл settings.xml из http://www.sonatype.com/books/nexus- book / reference / maven-sect-single-group.html , при необходимости исправьте имя хоста, зафиксируйте его в системе исходного кода и попросите всех ваших разработчиков скопировать его в свои ~ / .m2 / settings.xml.
Шаг третий : Настройте файл pom.xml вашего проекта должным образом. Вам понадобится «родительский POM», который определяет раздел «distributionManagement», который выглядит примерно так:
<distributionManagement>
<snapshotRepository>
<id>nexusSS</id>
<name>Nexus Snapshot Repository</name>
<url>http://nexus.local:8081/nexus/content/repositories/snapshots</url>
</snapshotRepository>
<repository>
<id>nexusRelease</id>
<name>Nexus Release Repository</name>
<url>http://nexus.local:8081/nexus/content/repositories/releases</url>
</repository>
</distributionManagement>
Шаг четвертый : Включите «mvn deploy» - перейдите в пользовательский интерфейс нексуса (что-то вроде http : //nexus.local: 8081 / nexus ), щелкните пользователей, щелкните «развертывание» и введите пароль. Затем отредактируйте ваш ~ / .m2 / settings.xml и добавьте это:
<settings>
...
<servers>
<server>
<id>nexus</id>
<username>deployment</username>
<password>PASSWORD</password>
</server>
</servers>
</settings>
Убедитесь, что он работает, запустив «mvn deploy», и вы должны были установить артефакты вашего проекта в нексус.
Шаг пять : Прочтите эту отличную документацию для maven: http://www.sonatype.com/products/maven/documentation/book-defguide