Ruby on rails 有没有一种更简洁的方式来写一句话;“所有人”是谁;Rails模型上的方法?

Ruby on rails 有没有一种更简洁的方式来写一句话;“所有人”是谁;Rails模型上的方法?,ruby-on-rails,ruby,activerecord,ruby-on-rails-4,Ruby On Rails,Ruby,Activerecord,Ruby On Rails 4,这是相当琐碎的,但我想知道是否有一种更简单或更简洁的方式来写这篇文章: def is_owned_by?(user_id) return false unless self.user_id.eql?(user_id) true end 除非我遗漏了什么,否则运行比较将导致ruby返回正确的布尔值: def is_owned_by?(user_id) self.user_id.eql?(user_id) end 除非我遗漏了什么,否则运行比较将导致ruby返回正确的布尔值: d

这是相当琐碎的,但我想知道是否有一种更简单或更简洁的方式来写这篇文章:

def is_owned_by?(user_id)
   return false unless self.user_id.eql?(user_id)
   true
end

除非我遗漏了什么,否则运行比较将导致ruby返回正确的布尔值:

def is_owned_by?(user_id)
  self.user_id.eql?(user_id)
end

除非我遗漏了什么,否则运行比较将导致ruby返回正确的布尔值:

def is_owned_by?(user_id)
  self.user_id.eql?(user_id)
end

您的比较已经返回一个布尔值,不需要在getter上使用
self

def is_owned_by?(owner_id)
  user_id == owner_id
end

您的比较已经返回一个布尔值,不需要在getter上使用
self

def is_owned_by?(owner_id)
  user_id == owner_id
end

我认为处理用户实例比处理id更有意义。下面的答案现在看起来很明显,但是你的评论很有趣,因为我可以做:self.user.id.eql?(user\u id)但我不确定这是否有什么好处,因为它可能会稍微贵一些,因为它必须查找用户。我认为处理用户实例而不是id更有意义。下面的答案现在似乎很明显,但您的评论很有趣,因为我可以这样做:self.user.id.eql?(user\u id)但是我不确定这是否有什么好处,因为它可能会稍微贵一些,因为它必须查找用户。如果没有self,它总是返回true。。不确定原因。如果您为参数指定与属性相同的名称,它将始终返回
true
。因此我将它命名为
other\u id
。如果没有self,它总是返回true。。不确定原因。如果您为参数指定与属性相同的名称,它将始终返回
true
。因此我把它命名为
other\u id