我的例子形式添加驗證不知道該領域
<% form_for @ad do |f| %>
<%= f.error_messages %>
<p>
<%= f.label :ad_type_id %><br />
<%= f.collection_select(:ad_type_id, AdType.all, :id, :name) %>
</p>
<p>
<% @ad.ad_properties.each do |property| %>
<%= property.name %>:
<% f.fields_for :ad_values do |value_field| %>
<%= value_field.text_field :ad_id, :value => @ad.id %>
<%= value_field.text_field :ad_property_id, :value => property.id %>
<%= value_field.text_field :value %>
<% end %><br /><br />
<% end %>
</p>
<p>
<%= f.label :description %><br />
<%= f.text_area :description %>
</p>
<p><%= f.submit %></p>
<% end %>
說明:
廣告具有許多特性。我可以隨時添加新的屬性(這是一個普通的模型)。
可以說廣告是「酒店」類型的。然後我會添加屬性,如'星星'和'breakfast_included'
然後我將這些屬性的每個值存儲在一個單獨的模型中。
而這一切都可以正常使用我的表格。
我的問題:
這些字段沒有驗證,因爲我不知道他們的名字是什麼。
我需要以某種方式動態添加驗證。
我的想法:
#Before the normal validations kick in
def add_validations
self.properties.each do |property|
property.add_validation :whatever #somehow :)
end
end
我怎麼能這樣做?
就是這樣。我沒有針對每種AdType的模型。我希望能夠將新類型添加到該表中,然後爲該新類型添加新的AdProperties。 通過管理建立結構基本上:) – Frexuz 2010-06-09 15:54:18