Помощь начинающим Rails в создании индивидуальной формы заказа - PullRequest
0 голосов
/ 30 июня 2011

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

  1. Оформить заказ модель
  2. Сделать членом модель
  3. Сделай полевую модель

В моем заказе модель делают

has_many :members
has_many :fields

В моей модели участника сделайте belongs_to :order, а в моей полевой модели - belongs_to :order. Тогда в контроллере заказов нужно сделать @fields = Field.all и извлечь его в блоке @fields.each.

P.S. есть еще одна вещь, которую я должен сделать, это чтобы форма заказа отображала 3 типа заголовков: Corporation, LLC и Non-profit. Я думаю, что было бы разумно, если бы в URL я сделал это как type=1 и type=2 и type=3, а в моей модели используйте оператор if, например:

def order_type(type)
   if type === "1"
     "corporation"
   elsif type === "2"
     "llc"
   else
     "nonprofit"
  end
end

Я думаю, что использование оператора if довольно неаккуратно, поэтому, если кто-то может объяснить мне наилучшую практику, это было бы здорово. Пожалуйста, не пытайтесь ответить с эпизодом Railscasts, потому что я уже проверил многие из них. То, что я хотел бы, это объяснение, если это возможно

Спасибо, ребята, это очень много значит

1 Ответ

0 голосов
/ 30 июня 2011

Действительно ли ваши поля настолько сложны, что им нужна собственная модель?Если ваши "поля" представляют собой список из одного столбца, просто включите их в качестве столбца в модели, они также применяются.

Проблема с использованием предложенного вами метода URL заключается в следующем.Скажем, пользователь создает объект модели и назначает его как «LLC».Тогда ваш URL будет иметь тип = 1 где-то в нем, как вы предложили.Теперь пользователь добавляет этот URL в закладки, а потом кто-то понял, что это опечатка, а вместо LLC заголовок должен быть другим.Теперь у вас возникла неудачная ситуация, когда вы создаете неработающие ссылки в Интернете или у вас есть закодированные URL-адреса.Кодировка URL должна использоваться для запроса данных, не определяя, какими должны быть данные.

Я бы не стал связываться с URL-адресами для заголовка вопроса.Вместо этого просто добавьте поле заголовка в основную модель, которая будет отображаться, и укажите в этом поле значение LLC и т. Д. Затем в представлении просто есть переменная, которая загружает значение для отображаемого объекта.

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