dealing with layout file bug

This commit is contained in:
Kaito committed 2011-08-08 17:23:20 +08:00
1 parent 37633ac23d
commit 9cea77430f
5 files changed
+62 -9

No files matched your search

+14 -5
View File
@@ -11,7 +11,7 @@ class Design
validates_presence_of :title
validates_presence_of :author
embeds_one :layout
embeds_one :layout,:class_name=>Layout
mount_uploader :structure_css, DesignFileUploader
embeds_many :themes
@@ -20,7 +20,11 @@ class Design
after_save :procs_embedded_objects
after_destroy :del_embedded_objects
def layout=(*attrs)
self.files = (attrs << 'layout')
end
def javascripts=(*attrs)
self.files = (attrs << 'javascripts')
end
@@ -35,7 +39,12 @@ class Design
# Update or create the attribute_model records
def files=(attrs)
files = eval(attrs.last)
case attrs.last
when 'layout'
files = self.layout.build
else
files = eval(attrs.last)
end
attrs[0].each do |a|
if(a[:id]=='' && !a[:file].nil? )
if(a[:file]!='')
@@ -53,14 +62,14 @@ class Design
protected
def del_embedded_objects
[self.themes, self.javascripts, self.images].each do |objects|
[self.layout,self.themes, self.javascripts, self.images].each do |objects|
objects.each do |object|
object.destroy
end
end
end
def procs_embedded_objects
[self.themes, self.javascripts, self.images].each do |objects|
[self.layout,self.themes, self.javascripts, self.images].each do |objects|
objects.each do |object|
if object.file.blank?
object.to_save = false
+1 -1
View File
@@ -4,7 +4,7 @@ class Layout < DesignFile
attr_reader :content
field :name, :index => true
references_many :children, :class_name => "Item"
# references_many :children, :class_name => "Item"
has_many :layout_parts
validates_presence_of :name
+2 -2
View File
@@ -18,9 +18,9 @@
<p>
<%= f.label "layout", t('admin.layout') %>
<% if @design.layout.blank? %>
<%= f.file_field :layout_file %>
<%= f.file_field :layout %>
<% else%>
<%= File.basename (Design.all.last.layout.url) %>
<%= File.basename (@design.layout.file.url) %>
<% end %>
</p>
<p>
-1
View File
@@ -32,7 +32,6 @@
<ul id="nav">
<li><%= link_to t('homepage'), root_path %></li>
<li><%= link_to t('admin.item'), admin_items_path %></li>
<li><%= link_to t('admin.layout'), admin_layouts_path %></li>
<li><%= link_to t('admin.design'), admin_designs_path %></li>
<li><%= link_to t('admin.asset'), admin_assets_path %></li>