我是铁杆的新手,所以这可能是一个太简单的问题。用户表中有一个:数字列。我想在current_user的User模型中获取该数字,然后将其乘以另一个数字(在此示例中为50)并使用结果数字来验证Item模型中的另一个数字字段(price)。
用户模型
class User < ActiveRecord::Base
has_many :items
def self.current
Thread.current[:user]
end
def self.current=(user)
Thread.current[:user] = user
end
def method
<Current User number> * 50
end
项目模型
class Item < ActiveRecord::Base
belongs_to :user
validates :price, numericality: { only_integer: true, :greater_than => 0, :less_than_or_equal_to => (User.method) }
答案 0 :(得分:1)
class User < ActiveRecord::Base
def max_num
number * 50
end
end
class Item < ActiveRecord::Base
belongs_to :user
validates :price, numericality: { only_integer: true,
greater_than: 0,
less_than_or_equal_to: :user_max_num }
def user_max_num
user.max_num
end
end