Module: LinkHelper
- Defined in:
- app/helpers/link_helper.rb
Instance Method Summary collapse
- #link_to_delete(value, parameters = {}) ⇒ Object
- #link_to_edit(value, parameters = {}) ⇒ Object
- #link_to_edit_translation(object, locale = Udongo.config.i18n.app.default_locale) ⇒ Object
-
#link_to_edit_with_label(value, locale) ⇒ Object
Say you have a page with a title: ‘Foo’.
- #link_to_show(value) ⇒ Object
- #object_label(value, locale) ⇒ Object
- #path_from_string_or_object(value, prefix: nil, parameters: {}) ⇒ Object
Instance Method Details
#link_to_delete(value, parameters = {}) ⇒ Object
36 37 38 39 40 41 42 43 44 |
# File 'app/helpers/link_helper.rb', line 36 def link_to_delete(value, parameters = {}) link_to( icon(:trash), path_from_string_or_object(value, parameters: parameters), method: :delete, data: { confirm: t('b.msg.confirm') }, title: t('b.delete') ) end |
#link_to_edit(value, parameters = {}) ⇒ Object
21 22 23 24 25 26 27 |
# File 'app/helpers/link_helper.rb', line 21 def link_to_edit(value, parameters = {}) link_to( icon(:pencil_square_o), path_from_string_or_object(value, prefix: 'edit_', parameters: parameters), title: t('b.edit') ) end |
#link_to_edit_translation(object, locale = Udongo.config.i18n.app.default_locale) ⇒ Object
29 30 31 32 33 34 |
# File 'app/helpers/link_helper.rb', line 29 def link_to_edit_translation(object, locale = Udongo.config.i18n.app.default_locale) str = "edit_translation_#{Udongo::ObjectPath.find(object)}" url = send(str, *Udongo::ObjectPath.remove_symbols(object), locale) link_to_edit(url) end |
#link_to_edit_with_label(value, locale) ⇒ Object
Say you have a page with a title: ‘Foo’. When calling this method with that page object, you would get a link to /backend/pages/edit/1 with the title as label.
13 14 15 16 17 18 19 |
# File 'app/helpers/link_helper.rb', line 13 def link_to_edit_with_label(value, locale) link_to( object_label(value, locale), path_from_string_or_object(value, prefix: 'edit_'), title: t('b.edit') ) end |
#link_to_show(value) ⇒ Object
2 3 4 5 6 7 8 |
# File 'app/helpers/link_helper.rb', line 2 def link_to_show(value) link_to( icon(:search), path_from_string_or_object(value), title: t('b.view') ) end |
#object_label(value, locale) ⇒ Object
53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'app/helpers/link_helper.rb', line 53 def object_label(value, locale) obj = Udongo::ObjectPath.remove_symbols(value) obj = obj.last if obj.is_a?(Array) I18n.with_locale(locale) do return obj.title if obj.respond_to?(:title) return obj.name if obj.respond_to?(:name) return obj.description if obj.respond_to?(:description) end "#{I18n.t("b.#{obj.class.name.underscore}")}: #{obj.id}" end |
#path_from_string_or_object(value, prefix: nil, parameters: {}) ⇒ Object
46 47 48 49 50 51 |
# File 'app/helpers/link_helper.rb', line 46 def path_from_string_or_object(value, prefix: nil, parameters: {}) return value if value.is_a?(String) str = "#{prefix}#{Udongo::ObjectPath.find(value)}" send(str, *Udongo::ObjectPath.remove_symbols(value), parameters) end |