function() {}
- это this того объекта, внутри которого происходит вызов функции. Контекст у () => {}
- это this объекта, внутри которого создается такая функция. Грубо говоря, стрелочная функция - это синтаксический сахар для(function() {}).bind(this)
(хотя, метод bind появился позже apply и call, но логика примерно была такая).Чем плохи просто много ссылок в представлении, какой у этого кода недостаток?
как усложнится код, если к примеру придется добавить проверку на доступность ссылки пользователю в зависимости от его прав
class NavbarPresenter < BasePresenter
# ...
def locale
label = I18n.locale == :ru ? 'ENG' : 'RU'
path = I18n.locale == :ru ? h.locale_path(:en) : h.locale_path(:ru)
format_link label, path
end
def sign
if h.signed_in?
format_link I18n.t('header.items.logout'), destroy_user_session_path, method: :delete
else
format_link I18n.t('header.items.login'), new_user_session_path
end
end
end
Почему это должно быть именно свойством курсора? Что если чуть погодя у тебя появится еще N сущностей, с которыми надо будет по-сложному взаимодействовать курсором?
Александр Козак, сначала хотел дописать "прочтите и если будет что-то неясно, то я поясню", но получилось то, что получилось :D