Ruby on rails 是否可以对非';t是模型的一部分吗?
所以我有一份登记表,其中一部分是账单/信用卡信息。这些信息都由第三方应用程序存储和处理,因此数据不会存储在我们的数据库中 那么,我如何通过Rails中的validates_uu方法运行这些项呢?(Ruby on rails 是否可以对非';t是模型的一部分吗?,ruby-on-rails,validation,Ruby On Rails,Validation,所以我有一份登记表,其中一部分是账单/信用卡信息。这些信息都由第三方应用程序存储和处理,因此数据不会存储在我们的数据库中 那么,我如何通过Rails中的validates_uu方法运行这些项呢?(验证的存在,验证的长度等) 还是我在错误的地方对这些项目进行了验证?您可以创建一个虚拟模型来方便表单的信息。不需要将模型保存到数据库中 只需在app/models中创建一个新文件,就可以开始了 示例:app/models/ccinfo.rb class Ccinfo < ActiveRecord:
验证
的存在,验证
的长度等)
还是我在错误的地方对这些项目进行了验证?您可以创建一个虚拟模型来方便表单的信息。不需要将模型保存到数据库中 只需在app/models中创建一个新文件,就可以开始了 示例:app/models/ccinfo.rb
class Ccinfo < ActiveRecord::Base
attr_accessor :card_type, :card_number, :pin, :exp_month, :exp_date, :card_holder, ...
validates_presence_of :card_holder
...
end
类Ccinfo您可以通过调用valid?方法。如果有效,是否会像处理任何其他模型一样渲染错误?返回false。否则继续处理。是的,我相信这是可能的 比如说
class User < ActiveRecord::Base
attr_accessor :card_number
validates_presence_of :card_number
end
class用户
您需要在模型本身中创建属性,然后对其应用验证
您还可以编写自己的访问器,像这样将数据发送给第三方
class User < ActiveRecord::Base
attr_accessor :card_number
validates_presence_of :card_number
def card_number=(number)
.....
end
end
class用户
对于未来使用Rails3的读者,请签出ActiveModel:
require 'active_model'
class Place
include ActiveModel::Validations
validates_presence_of :name
attr_accessor :name
end