Spree::Price objects track a price for a specific currency and variant
combination. For example, if a variant is available for $15 USD or €7 EUR, that
variant would have two
Spree::Price objects associated with it (one for each
If none of a product's
Spree::Variants have a price value for the site's
configured currency, that product is not visible in the store frontend.
You can see a variant's price in the store's configured currency by calling the
price method on that instance:
Spree::Variant.find(1).price # => 15.99
You can also call the
price method on a
Spree::Product. If you call the
price method on a product, it gets the price of the product's master variant.
For a list of all of the
Spree::Prices associated with a product or variant,
you can call the
prices method on an instance of them:
Spree::Product.find(1).prices # => [#<Spree::Price id: 2 ...] # [#<Spree::Price id: 3 ...] Spree::Variant.find(1).prices # => [#<Spree::Price id: 4 ...] # [#<Spree::Price id: 5 ...]
Solidus is an open source platform supported by the community. We encourage everyone using Solidus to contribute back to the documentation and the code.
If you’re interested in contributing to the docs, get started with the contributing guidelines. If you see something that needs fixing and can’t do it yourself, please send us an email.