0
私はこのメソッドは、各ハリー::マッシュオブジェクトから特定のフィールドを選択しようとします(それぞれのイメージはハリー::マッシュオブジェクトです)。ハッシュで特定のキーのみを拒否または許可するにはどうすればよいですか?
def images
images = object.story.get_spree_product.master.images
images.map do |image|
{
position: image["position"],
attachment_file_name: image["attachment_file_name"],
attachment_content_type: image["attachment_content_type"],
type: image["type"],
attachment_width: image["attachment_width"],
attachment_height: image["attachment_height"],
attachment_updated_at: image["attachment_updated_at"],
mini_url: image["mini_url"],
small_url: image["small_url"],
product_url: image["product_url"],
large_url: image["large_url"],
xlarge_url: image["xlarge_url"]
}
end
end
これを行う簡単な方法はありますか?
画像hashie ::マッシュオブジェクトの配列です。
object.story.get_spree_product.master.images.first.class
Hashie::Mash < Hashie::Hash
[15] pry(#<Api::V20150315::RecipeToolSerializer>)> object.story.get_spree_product.master.images.count
2
私は、これはRailsのアプリであると仮定? 'slice'と' except'は、RailsがロードされたときにHashクラスに追加されるメソッドです。 RubyのHashクラスには存在しません。 –
@KeithBennett元のコードには、完全なRailsアプリケーションである[Spree](https://github.com/spree/spree)への参照があります。 – tadman