2012-06-30 48 views
0

我正在使用Simple Form,不知道如何顯示2個關聯的值。如何顯示兩個模型的選擇菜單?

價格可以屬於某個服務或產品,但不能同時存在。

Price 
# service_id, product_id 
belongs_to :services # service.name 
belongs_to :products # product.name 
end 

而不必我簡單的形式是這樣的:

<%= f.association :product, :input_html => { :class => "span5 } %> 
<%= f.association :service, :input_html => { :class => "span5 } %> 

我希望把它變成一個場代替。

simple_form_for是什麼方式?

怎麼樣與經常form_for

回答

1

我認爲更好的方法是使用多態關聯。

class Price 
    belongs_to :pricable, polymorphic: true 
end 

class Product 
    has_one :price, as: :priceable 
end 

class Service 
    has_one :price, as: :priceable 
end 

然後,在你的表格,你可以使用:

<%= form_for [@priceable, Price.new] 

其中@priceable是產品或服務。

相關問題