【问题标题】:Rails: Form in static pages of high voltage gemRails:在高压gem的静态页面中形成
【发布时间】:2013-10-29 16:54:10
【问题描述】:

我用很棒的high_voltage gem 创建了几个静态页面。

我的页面是静态的,除了每个页面中的不同形式。

表单应该获取用户详细信息并发送电子邮件(并且可能将详细信息保存在数据库中)

问题:

我应该如何处理这个?

我更关心 Rails 方法,

例如

  1. 如何在没有自定义编码的情况下添加验证(在客户端/服务器端)
  2. 如何从 Rails 辅助方法中获取帮助?

假设,我想将这些字段保存在数据库中,我应该如何处理?

简而言之,我想在不手动处理的情况下最大限度地使用 rails 魔法。

我尝试了什么?

目前,我在每个页面中都有表单。每个表单都使用post 方法在同一个控制器(PagesController)上发布。

然后我根据各自表单上的隐藏输入来区分它们。

我目前没有任何验证。

【问题讨论】:

  • 继续什么?你的目标是什么?什么不工作?你看到了什么错误?你的代码在哪里?
  • 因为我没有任何控制器,我只有几个 html 页面。我应该在哪里提交我的表单以及如何在后端处理它?

标签: forms ruby-on-rails-4 high-voltage


【解决方案1】:

我终于在this great article 之后创建了一个没有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

【讨论】:

    【解决方案2】:

    我在这里更详细地回答了这篇文章: Render partial from static page

    这是对演示存储库的提交以使其工作: https://github.com/harlow/high_voltage_demo/commit/0cdbca5b0fe898d27df22787498fc7e350e81422

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-03
      相关资源
      最近更新 更多