Рельсы: Форма в статических страницах высокого напряжения драгоценного камня

Я создал несколько статических страниц с удивительным гемом high_voltage.

Мои страницы статичны, за исключением разной формы на каждой странице.

Формы должны собирать данные о пользователях и отправлять электронные письма (и могут сохранять данные в БД)

Вопрос:

Как мне поступить с этим?

Я больше обеспокоен приближением рельсов,

например

  1. Как я могу добавить проверку без пользовательского кодирования (как на стороне клиента / сервера)
  2. Как можно получить помощь от метода вспомогательных рельсов?

Предположим, я хотел бы сохранить эти поля в БД, как мне быть с этим?

Короче говоря, я хочу использовать максимум магии рельсов, не имея дело с вещами вручную.

Что я пробовал?

В настоящее время у меня есть формы на каждой странице. Каждая форма отправляет на тот же контроллер (PagesController) с post метод.

Затем я различаю их на основе скрытого ввода в соответствующей форме.

У меня нет никаких проверок на данный момент.

2 ответа

Решение

Я наконец-то создал модель без activerecord, следуя этой замечательной статье.

Я создал модель, как показано ниже.

class Message

  include ActiveModel::Validations
  include ActiveModel::Conversion
  extend ActiveModel::Naming

  attr_accessor :name, :email, :subject, :body

  validates :name, :email, :subject, :body, :presence => true
  validates :email, :format => { :with => %r{.+@.+\..+} }, :allow_blank => true

  def initialize(attributes = {})
    attributes.each do |name, value|
      send("#{name}=", value)
    end
  end

  def persisted?
    false
  end

end

Я ответил на этот пост более подробно здесь: Render частичное со статической страницы

Вот пример демонстрационного репозитория для этой работы: https://github.com/harlow/high_voltage_demo/commit/0cdbca5b0fe898d27df22787498fc7e350e81422

Другие вопросы по тегам