Я немного пытаюсь найти подходящее место для вспомогательного метода.Метод в основном «проверяет» объект пользовательской модели и должен возвращать некоторую информацию о «прогрессе» пользователя, например.«Вам нужно добавить фотографии», «Заполните свой адрес» или «Добавить свой адрес электронной почты».Ни одно из условий, которые я проверяю, не является обязательным, это просто как функциональность «Это полнота вашего профиля», как это видно на LinkedIn и т. Д.
У каждого из этих «действий» есть URL, где пользовательможет завершить действие, например.URL-адрес страницы, на которую они могут загрузить фотографию профиля, если она отсутствует.
Так как мне нужен доступ к моим именованным помощникам маршрутов (например, new_user_image_path), мне трудно разобраться с Rails-путемструктурирования кода.
Я хотел бы вернуть объект с DSL, как это:
class UserCompleteness
def initialize(user)
end
def actions
# Returns an array of actions to be completed
end
def percent
# Returns a 'profile completeness' percentage
end
end
И использовать его с чем-то вроде: @completeness = user_completeness(current_user)
Однако, если я добавляю это в свой application_helper, у меня нет доступа к моим именованным помощникам маршрутов.То же самое происходит, если я добавлю его в свою пользовательскую модель.
Где мне разместить этот вспомогательный метод?