Item
has_many
Pieces
。_ 私には2つの方法があります。1つはピースが利用可能かどうかを調べる方法、もう1つはアイテムに利用可能なピースがあるかどうかを調べる方法です。
# in piece.rb
def available?(current_user, piece)
if piece.status == 1
true
elsif piece.status == 2
false
elsif piece.status == 3
true if piece.friend_id == current_user.id
end
end
#in item.rb
def available?(current_user, user, item)
false
item.pieces.each do |piece|
if piece.available?(current_user, piece)
true
end
end
end
私のavailable?
方法Item
は間違っています。利用可能な場合は返品し、利用できないtrue
場合は返品してください。私のコードの背後にある理論は、を返す部分がない限り、メソッドは戻るというものです。私がコンソールでそれを行うとき、私が得るのはハッシュの断片だけであり、真または偽ではありません。Item
pieces
false
false
true
誰かが私の問題を解決したり、これを行うためのより良い方法を教えてもらえますか?