Add nested route url
This commit is contained in:
		
							parent
							
								
									e11dc5dd83
								
							
						
					
					
						commit
						66a462faa8
					
				|  | @ -5,6 +5,7 @@ class Item | |||
|   key :_type, String | ||||
|    | ||||
|   key :name, String, :required => true, :index => true | ||||
|   key :full_name, String, :required => true, :index => true | ||||
|    | ||||
|   key :parent_name, String, :index => true | ||||
|   key :parent_id, ObjectId, :index => true | ||||
|  | @ -15,7 +16,7 @@ class Item | |||
|   key :is_published, Boolean, :required => true, :default => true, :index => true | ||||
|   | ||||
|   validates_format_of :name, :with => /^[a-zA-Z-_]+$/ | ||||
|   validates_uniqueness_of :name | ||||
|   validates_uniqueness_of :name, :scope => :parent_id | ||||
|    | ||||
|   belongs_to :parent, :class_name => "Item", :foreign_key => :parent_id | ||||
|   many :children, :class_name => "Item", :foreign_key => :parent_id, :dependent => :destroy | ||||
|  | @ -32,6 +33,12 @@ class Item | |||
|     nodes.reverse | ||||
|   end | ||||
| 
 | ||||
|   def url | ||||
|     urls = ancestors.map{ |a| a.name } << self.name | ||||
|     urls.delete("root") | ||||
|     "/#{urls.join("/")}" | ||||
|   end | ||||
|    | ||||
|   protected | ||||
|    | ||||
|   def setup_default_value | ||||
|  |  | |||
|  | @ -3,6 +3,8 @@ class Snippet | |||
|    include MongoMapper::Document | ||||
|    | ||||
|    key :name, String, :required => true, :index => true | ||||
|    key :full_name, String, :required => true, :index => true | ||||
|     | ||||
|    key :parent_name, String, :required => true, :index => true | ||||
|    key :parent_id, ObjectId, :required => true, :index => true | ||||
|     | ||||
|  |  | |||
|  | @ -5,7 +5,7 @@ | |||
|   <td><%= item.position %></td> | ||||
|   <td><%= item.is_published.to_s %></td> | ||||
|   <td> | ||||
|     <%= link_to t(:show), admin_component_path(item.name) %> |  | ||||
|     <%= link_to t(:show), item.url %> |  | ||||
|     <%= link_to t(:edit), edit_admin_component_path(item) %> | | ||||
|     <%= link_to t(:delete), admin_component_path(item), :confirm => 'Are you sure?', :method => :delete %> | ||||
|   </td> | ||||
|  |  | |||
|  | @ -5,7 +5,7 @@ | |||
|   <td><%= item.position %></td> | ||||
|   <td><%= item.is_published.to_s %></td> | ||||
|   <td> | ||||
|     <%= link_to t(:show), admin_link_path(item.name) %> |  | ||||
|     <%= link_to t(:show), item.url %> |  | ||||
|     <%= link_to t(:edit), edit_admin_link_path(item) %> | | ||||
|     <%= link_to t(:delete), admin_link_path(item), :confirm => 'Are you sure?', :method => :delete %> | ||||
|   </td> | ||||
|  |  | |||
|  | @ -5,7 +5,7 @@ | |||
|   <td><%= item.position %></td> | ||||
|   <td><%= item.is_published.to_s %></td> | ||||
|   <td> | ||||
|     <%= link_to t(:show), admin_page_path(item.name) %> |  | ||||
|     <%= link_to t(:show), item.url %> |  | ||||
|     <%= link_to t(:edit), edit_admin_page_path(item) %> | | ||||
|     <%= link_to t(:delete), admin_page_path(item), :confirm => 'Are you sure?', :method => :delete %> | ||||
|   </td> | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue