Sha256: c5c90b49dcc8f54d18e50e179085efc8b6ea1a44636404f23d62e665c8d90cec

Contents?: true

Size: 1.07 KB

Versions: 1

Compression:

Stored size: 1.07 KB

Contents

class <%= class_name %> < ActiveRecord::Base
  attr_accessible <%= attributes.map { |a| ":#{a.name}" }.join(", ") %>

	<%- first_attribute = attributes.first -%>
	def self.page(search, page)
		paginate :per_page => 10, :page => page,
              :order => '<%= first_attribute.name %>',
              :conditions => ["<%= first_attribute.name %> LIKE ?", "%#{search}%"]
  end

	has_one :menu_item, :as => :linkable, :dependent => :destroy
	
	after_create :create_menu_item
	after_update :update_menu_item
	
	def update_menu_item
		@menu_item = self.menu_item
		if @menu_item == nil
			self.create_menu_item
		else
		@menu_item.update_attributes(
			:title => self.<%= first_attribute.name %>,
			:url => "/view_<%= singular_name %>/#{self.<%= first_attribute.name %>}",
			:active => self.<%= first_attribute.name %>
		)
		end
	end
	
	def create_menu_item
		@menu_item = self.build_menu_item(
			:title => self.<%= first_attribute.name %>,
			:url => "/view_<%= singular_name %>/#{<%= first_attribute.name %>}",
			:active => self.<%= first_attribute.name %>
		)
		@menu_item.save
	end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
dust-generators-0.1.8 rails_generators/dust_scaffold/templates/model.rb