пользовательские свойства в Rails - PullRequest
2 голосов
/ 18 июля 2009

Я только что запустил Rails и у меня есть основной вопрос.

Мне нужно добавить свойства клиента (например, идентификатор электронной почты и т. Д.), Чтобы приложение Rails могло читать их во время выполнения. Как я могу это сделать?

Могу ли я добавить их в файл development.rb, и если да, то как я могу их прочитать?

В Java я бы создал файл свойств и прочитал его из своего приложения.

спасибо,

FireMonkey

Ответы [ 3 ]

2 голосов
/ 18 июля 2009

Вы пытаетесь сохранить и загрузить настройки конфигурации?

Легко хранить параметры конфигурации в файле yaml и загружать их с инициализаторами - загружается лучше, чем мусорить в файлах среды.

Этот Railscast: http://railscasts.com/episodes/85-yaml-configuration-file показывает вам, как.

0 голосов
/ 18 июля 2009

Немного неясно, что именно вы пытаетесь сделать, но похоже, что у вас есть модель с именем Customer, и вы хотели бы добавить к ней некоторые атрибуты, такие как адрес электронной почты, идентификатор и т. Д.?

По сути, с Active Record вам не нужно делать ничего особенного, чтобы добавить простой атрибут (например, строку или целое число). Просто добавьте поле с именем «email_address» в таблицу клиентов в базе данных, и все ваши объекты Customer будут автоматически получать методы «email_address» и «email_address =» (не говоря уже о том, что сам класс Customer получает «find_by_email_address» и другие полезные методы). также). Если вы добавляете поле, содержащее другую модель, это немного сложнее - добавьте поле «thing_id »в таблицу и ассоциацию с определением класса (например,« has_one: что-то »). Для получения дополнительной информации см. Документацию ActiveRecord api.

Вам не нужно использовать какие-либо конкретные средства для добавления поля в вашу базу данных, но вы можете рассмотреть Миграции . Миграции - это удобный способ поддержания версий и синхронизации вашей схемы на нескольких машинах.

Если вы строите свою модель прямо сейчас, в генератор встроен ярлык для добавления полей. Вместо того, чтобы просто сказать ...

script/generate scaffold customer

... можно сказать ...

script/generate scaffold customer email:string name:string badge_number:integer

... и он сгенерирует все соответствующие поля в вашей миграции, а также добавит их в ваши сгенерированные представления.

0 голосов
/ 18 июля 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...