You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
22 lines
1.3 KiB
22 lines
1.3 KiB
13 years ago
|
<%
|
||
|
parent_record = @record
|
||
|
associated = column.singular_association? ? [parent_record.send(column.name)].compact : parent_record.send(column.name).to_a
|
||
|
associated = associated.sort_by {|r| r.new_record? ? 99999999999 : r.id} unless column.association.options.has_key?(:order)
|
||
|
if show_blank_record = column.show_blank_record?(associated)
|
||
|
child = column.singular_association? ? parent_record.send(:"build_#{column.name}") : parent_record.send(column.name).build
|
||
|
reflection = parent_record.class.reflect_on_association(column.name)
|
||
|
if reflection && reflection.reverse
|
||
|
reverse_macro = child.class.reflect_on_association(reflection.reverse).macro
|
||
|
child.send(:"#{reflection.reverse}=", parent_record) if [:has_one, :belongs_to].include?(reverse_macro)
|
||
|
end
|
||
|
associated << child
|
||
|
end
|
||
|
subform_div_id = "#{sub_form_id({:association => column.name, :id => parent_record.id || 99999999999})}-div"
|
||
|
-%>
|
||
|
<h5><%= column.label -%></h5>
|
||
|
<div id ="<%= subform_div_id %>" <%= 'style="display: none;"'.html_safe if column.collapsed -%>>
|
||
|
<%= render :partial => subform_partial_for_column(column), :locals => {:column => column, :parent_record => parent_record, :associated => associated, :show_blank_record => show_blank_record} %>
|
||
|
</div>
|
||
|
<%= link_to_visibility_toggle(subform_div_id, {:default_visible => !column.collapsed}) -%>
|
||
|
<% @record = parent_record -%>
|