dealing with layout file bug
This commit is contained in:
1 parent
37633ac23d
commit
9cea77430f
5 files changed
+62
-9
No files matched your search
+14
-5
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in new issue
Block a user