Рельсы: Форма в статических страницах высокого напряжения драгоценного камня
Я создал несколько статических страниц с удивительным гемом high_voltage.
Мои страницы статичны, за исключением разной формы на каждой странице.
Формы должны собирать данные о пользователях и отправлять электронные письма (и могут сохранять данные в БД)
Вопрос:
Как мне поступить с этим?
Я больше обеспокоен приближением рельсов,
например
- Как я могу добавить проверку без пользовательского кодирования (как на стороне клиента / сервера)
- Как можно получить помощь от метода вспомогательных рельсов?
Предположим, я хотел бы сохранить эти поля в БД, как мне быть с этим?
Короче говоря, я хочу использовать максимум магии рельсов, не имея дело с вещами вручную.
Что я пробовал?
В настоящее время у меня есть формы на каждой странице. Каждая форма отправляет на тот же контроллер (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