我一直在寻找一段时间,但我还没有找到满意的答案。我有两个应用程序。FrontApp 和 BackApp。FrontApp 有一个模仿 BackApp 模型的活动资源。所有模型级别的验证都在 BackApp 中,我需要在 FrontApp 中处理这些 BackApp 验证。
我有以下活动资源代码:
class RemoteUser < ActiveResource::Base
self.site = SITE
self.format = :json
self.element_name = "user"
end
这模仿了一个模型,如下所示
class User < ActiveRecord::Base
attr_accessor :username, :password
validates_presence_of :username
validates_presence_of :password
end
每当我在前面的应用程序中创建一个新的 RemoteUser 时;我打电话给 .save 。例如:
user = RemoteSession.new(:username => "user", :password => "")
user.save
但是,由于密码为空,我需要将错误从 BackApp 传递回 FrontApp。这没有发生。我只是不明白如何成功地做到这一点。这必须是一个常见的集成场景;但似乎没有一个好的文档?
我作为代理的 restful 控制器如下:
class UsersController < ActionController::Base
def create
respond_to do |format|
format.json do
user = User.new(:username => params[:username], :password => params[:password])
if user.save
render :json => user
else
render :json => user.errors, :status => :unprocessable_entity
end
end
end
end
end
我错过了什么?任何帮助都感激不尽。
干杯