Чтобы заставить пользователя выбрать один размер:
<%= select_tag :size_id, options_from_collection_for_select(@product.sizes.where('quantity >=1'), :id, :size_name), {include_blank: 'Your Size'}, required: true, class: 'form-control custom-select'%>
Это сделает обязательным select
, и пользовательское сообщение браузера появится, если размер не выбран.
Если вы хотите настроить сообщение и показывает перед запросом, рассмотрите использование JS, я рекомендую https://jqueryvalidation.org/
OBS : Это хорошая практика, не выполняйте запросы к базам данных по своему усмотрению, подумайте, чтобы в вашем контроллере было указано @product.sizes.where('quantity >=1')
, например:
# Inside your controller
def show
...
@product_size_options = @product.sizes.where('quantity >=1')
...
end
и ваш select_tag
:
<%= select_tag :size_id, options_from_collection_for_select(@product_size_options, :id, :size_name), {include_blank: 'Your Size'}, required: true, class: 'form-control custom-select'%>