添付ファイルのコレクションのグループを受け取り、画像が正方形かどうかを計算しようとするヘルパーがあります。
ビューには次のような条件がsuggestion_grid_square?(@attachments)
あり、ヘルパー メソッドは次のとおりです。
(この質問の問題をより明確にするためにコードを単純化しました)
def suggestion_grid_square?(*attachments)
suggestion_column_squares?(1,attachments)
end
def attachment_square?(attachment)
(attachment.file_height.to_f / attachment.file_width) <= 1
end
private
def suggestion_column_squares?(column,*attachments)
attachments.each do |attachment|
attachment_square?(attachment)
end
end
次のコードは私にこのエラーを返しています:undefined method file_height for #<Array:0x007fa827e9af30>
app/helpers/suggestions_helper.rb:8:in `attachment_square?'
app/helpers/suggestions_helper.rb:15:in `block in suggestion_column_squares?'
属性を受け取っていない理由file_height
や、ここで間違っていることはありますか?
これを更新して、コレクションを作成する方法と、ビューでヘルパーを呼び出す方法を示します。
boutique_products = Product.by_most_recent.sold_or_designed_by(boutique).shuffle.first(4)
boutique_products.each { |product| (@attachments << product.default_attachment_or_first_attachment) }
.follow-boutique-grid{class: ("square-suggestion-grid" if suggestion_grid_square?(@attachments)) }