0

我使用的是简单形式,但不会显示 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呢?

4

1 回答 1

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 是产品或服务。

于 2012-07-01T16:09:51.727 回答