【发布时间】:2013-12-05 12:28:37
【问题描述】:
模型代码如下:
class Place < ActiveRecord::Base
attr_accessible :address, :name, :latitude, :longitude
validates :name, :address, :latitude, :longitude, presence: true
etc...
end
还有一些类具有相同的验证方法:
class PlaceClub
include Virtus
extend ActiveModel::Naming
include ActiveModel::Conversion
include ActiveModel::Validations
attr_reader :club
attr_reader :place
attribute :name, String
attribute :address, String
attribute :latitude, Float
attribute :longitude, Float
validates :name, :address, :latitude, :longitude, presence: true
etc ...
end
我可以将验证方法移到单独的类中以便在两个类中使用它吗?提前致谢。
【问题讨论】:
-
可以为所欲为,但设计很差。如果您使用的是 Rails 4,请考虑使用关注点。
-
我使用 Rails 3.2。此版本中没有问题,不是吗?
-
不,它们不是,但您可以使用模块完成基本相同的事情。我会在一秒钟内发布答案,但我强烈建议不要这样做。说真的,不要这样做。
-
但是您可以发表您对模块的想法吗?
标签: ruby-on-rails