Sha256: 1037ba97a0d58f31f3d085af02fa522397b883950d65078f340238c3166023b5
Contents?: true
Size: 1.99 KB
Versions: 2
Compression:
Stored size: 1.99 KB
Contents
# module RailsBreadcrumbs module ControllerAdditions # ::Rails.logger.error("...") # def self.add_breadcrumb(name, url, options = {}) before_filter options do |controller| controller.send(:add_breadcrumb, name, url) end end # Add breadcrumb for page def add_breadcrumb name, url = '' @breadcrumbs ||= [] url = eval(url) if url =~ /_path|_url|@/ @breadcrumbs << [name, url] end # def add_breadcrumbs_by_path(names = {}, options = {}) options = ::RailsBreadcrumbs.options.merge(options) path_parts = controller_path.split('/') path_parts.each do |segment| link_name = segment.sub('_', ' ').camelcase link_name = names[segment] if names.has_key?(segment) name = I18n.t options[:locale_root] + segment, :default => link_name if segment != path_parts.last route = nil path_parts.each do |temp| route = (route.nil? ? temp: route +'_'+ temp) break if temp == segment end link = send(route + '_path') else link = request.path end add_breadcrumb(name, link) end end # def add_breadcrumbs_with_action_by_path(names = {}, options = {}) options = ::RailsBreadcrumbs.options.merge(options) path_parts = controller_path.split('/') << action_name path_parts.each do |segment| link_name = segment.sub('_', ' ').camelcase link_name = names[segment] if names.has_key?(segment) name = I18n.t options[:locale_root] + segment, :default => link_name if segment != path_parts.last route = nil path_parts.each do |temp| route = (route.nil? ? temp: route +'_'+ temp) break if temp == segment end link = send(route + '_path') else link = request.path end add_breadcrumb(name, link) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rails_breadcrumbs-0.5.4 | lib/rails_breadcrumbs/controller_additions.rb |
rails_breadcrumbs-0.5.3 | lib/rails_breadcrumbs/controller_additions.rb |