获取模型中的current_user编号

时间:2014-08-21 14:28:46

标签: ruby-on-rails

我是铁杆的新手,所以这可能是一个太简单的问题。用户表中有一个:数字列。我想在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) }

1 个答案:

答案 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