Error with simple_form and active_attr



我正在使用active_attr和simple_form。

当我导航到应该显示我的表单的页面时,出现以下错误:

undefined method `new_record?' for #<Message body: nil, email: nil, name: nil, subject: nil>

这是我的模型:

class Message
  include ActiveAttr::Model
  attribute :name
  attribute :email
  attribute :subject
  attribute :body
  validates :name, :email, :subject, :body, :presence => true
  validates :email, :format => { :with => %r{.+@.+..+} }, :allow_blank => true
end

我的控制器:

class ContactController < ApplicationController
  def new
    @message = Message.new
  end
  def create
    @message = Message.new(params[:message])
    if @message.valid?
      NotificationsMailer.new_message(@message).deliver
      redirect_to(root_path, :notice => "Message was successfully sent.")
    else
      flash.now.alert = "Please fill all fields."
      render :new
    end
  end
end

最后我的观点:

<%= simple_form_for @message, :url => contact_path do |f| %> 
  <%= f.input :name %>
  <%= f.input :email %>
  <%= f.input :subject %>
  <%= f.input :body %>
  <%= f.button :wrapped, :submit %>
<% end %>

显然,我包含的额外功能是为 Twitter 引导程序制作一个包装按钮,如 https://github.com/plataformatec/simple_form/wiki/Twitter-Bootstrap-v2-and-simple_form-v2 发现的那样破坏了它。

此错误

是由于 v0.7.0 中修复的 active_attr 中的错误造成的。升级可解决此问题。

相关内容

  • 没有找到相关文章

最新更新