【发布时间】:2011-06-21 14:00:42
【问题描述】:
我一直在阅读文档以获取 ActiveRecord 验证与 ActiveModel 一起使用。出于某种原因,我没有看到返回任何验证结果。
我有一组模型,它们不是与ActiveRecord 交互,而是通过位于 Rails 后面的自定义 API 进行交互。
模型:
class ApiObject < ApiConnector
include ActiveModel::Validations
attr_accessor :fieldName
validates :fieldName, :presence => true
def save
#save method implementation
end
end
控制器:
def create
@apiObject = ApiObject.new(params[:api_object])
respond_to do |format|
if @apiObject.save
format.html { redirect_to(@apiObject, :notice => 'User was successfully created.') }
format.xml { render :xml => @apiObject, :status => :created, :location => @apiObject }
else
format.html { render :action => "new" }
format.xml { render :xml => @apiObject.errors, :status => :unprocessable_entity }
end
end
end
形式:
<%= form_for :api_object, :url => '/apiobjectcontroller/' do |f| %>
<%= f.label :fieldName, 'Field Name' %>
<%= f.text_field :fieldName %>
<%= f.submit 'Create'%>
<% end %>
我正在遵循此处列出的代码:Rails ActiveModel Validation
该方法正确返回到表单,因为 @apiObject.save 返回为 false,但没有返回验证响应。我检查了标记,没有返回通常的 rails 验证结果。我错过了什么?
【问题讨论】:
标签: ruby-on-rails validation ruby-on-rails-3 activemodel