2009-10-28 91 views
4
<% 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 %> 

产品属于Shop_category,Shop_category属于Shop。Formtastic选择清单

如何更改线路:

<%= f.input :shop_category %> 

要仅显示shop_categories属于ID为例如15,而不是显示在选择框中的所有shop_categories购物?

回答

13

选择输入有一个:collection选项。

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

因此,您可以通过为该集合属性提供一个哈希来显示所需的类别以及所需的条件。

1

此外,如果您在控制器中设置shop_category,它将被选为默认值。

+2

你也可以(也应该?)在模型中执行:'after_initialize {self.attribute_name || = defaul_value}'。 – jibiel 2012-03-07 12:42:06