我是一个完整的rails新手,我试图为联系表单创建验证。我已经开始验证代码,但是如果我只加载我的联系页面并单击提交,它不会显示任何验证错误。试图验证联系表格
这里是我认为形式:
<%= form_for :message, :id => 'contactForm', :url => { :action => "create" } do |f|-%>
<%= label_tag 'name', 'Name:' %>
<%= f.text_field 'name', :class =>'required requiredField' %>
<%= label_tag 'email', 'Email:' %>
<%= f.email_field 'email', :class =>'required requiredField email' %>
<%= label_tag 'message', 'Message:' %>
<%= f.text_area 'message', :class => 'required requiredField', :rows => 20, :cols => 30 %>
<%= f.submit :class => 'button' do -%>
<a href="#" class="button" style="float:right;"><span>Submit</span></a>
<% end %>
<% end -%>
控制器:
class ContactController < ApplicationController
layout "content"
def index
@activeLi = "contact"
end
def new
@message = Message.new
end
def create
@message = Message.new(params[:message])
if @message.valid?
# need to actually send the email message here
flash[:notice] = "Message sent! We will get back to you shortly."
redirect_to root_url
else
render :action => 'new'
end
end
end
型号:
class Message
include ActiveModel::Validations
include ActiveModel::Conversion
extend ActiveModel::Naming
attr_accessor :name, :email, :message
validates_presence_of :name, :email, :message
validates_length_of :message, :maximum => 4000
def initialize(attributes={})
attributes.each do |name, value|
send("#{name}=", value)
end
end
def persisted?
false
end
end
路线:
get "contact/index"
post "contact/create"
或许应该的form_for(:消息......还什么呢你的config/routes.rb文件看起来像 – 2012-02-29 02:06:17
我把它改成。 :message并添加了我的routes.rb到问题 – Catfish 2012-02-29 02:18:12