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
currency).
If none of a product's Spree::Variant
s 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::Price
s 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.