Ruby on rails 3 extjs4 rails 3模型唯一性验证

Ruby on rails 3 extjs4 rails 3模型唯一性验证,ruby-on-rails-3,validation,extjs,model,Ruby On Rails 3,Validation,Extjs,Model,我正在使用ExtJS4和rails 3。 我想对extjs表单上的字段的唯一性进行验证。 我想对Rails模型进行唯一性验证,因此我对我的Rails模型进行了如下操作: validates_uniqueness_of :search_key, :message => "Duplicate value found" 我将表单的新值插入存储,如下所示: store.add(values); 如果验证失败,则不会将记录插入数据库。 现在,我想弹出一个警告框,指示在验证失败时条目是重复的,以便

我正在使用ExtJS4和rails 3。 我想对extjs表单上的字段的唯一性进行验证。 我想对Rails模型进行唯一性验证,因此我对我的Rails模型进行了如下操作:

validates_uniqueness_of :search_key, :message => "Duplicate value found"
我将表单的新值插入存储,如下所示:

store.add(values);
如果验证失败,则不会将记录插入数据库。 现在,我想弹出一个警告框,指示在验证失败时条目是重复的,以便用户可以编辑字段。 如何在rails控制器和extjs表单之间进行通信以进行验证?
rails回调在其中也会有用吗?

以下是如何将从服务器返回的消息传递到extjs应用程序,我想您可以根据自己的需要对其进行修改,或者如果需要澄清,请告诉我:

Extjs


在模型中,添加:

proxy: {
  type: 'rest',
  url: '/manifest-items',
  reader: {
    type: 'json', // We expect the server to give us a JSON string as a response
    root: 'rows',
    totalProperty: 'total',
    messageProperty: 'message',
  }
},
轨道控制器


然后,在错误或成功两种情况下,返回的响应应为:

render :json => {:success => false, :message => "some error", :rows => [something], :total => x}.to_json
返回Extjs


在extjs中,可以按如下方式访问消息:

重要:注意在失败和成功情况下获取错误消息之间的区别

manifestItem.save({
  success: function(records, operation) {
    Ext.Msg.alert(operation.resultSet.message);
  },
  failure: function(records, operation) {
    Ext.Msg.alert(operation.error);
  }
});

这正是我想做的,但你的例子我一点也不清楚!