views:

3074

answers:

2
<% semantic_form_for(@product, :html => {:multipart => true}) do |f| %>

    <% f.inputs do %>
        <%= f.input :name %>
        <%= f.input :price %>
        <%= f.input :pno %>
        <%= f.input :description %>
        <%= f.input :shop_category %>
    <% end %>
<% end %>

Product belongs to Shop_category, Shop_category belongs to Shop.

How to change the line :

<%= f.input :shop_category %>

To show only shop_categories that belongs to Shop with id for example 15 instead of showing all shop_categories in the select box ?

+5  A: 

There's a :collection option for the select input.

<%= form.input :shop_category, :collection => @shop.ShopCategories %>

So you can, by providing a Hash to that collection attribute, display the categories you need, with the required conditions.

Damien MATHIEU
A: 

Also, if you set the shop_category in the controller, it will already be selected as a default value.