У меня есть следующий пользовательский маршрут в моем routes.rb файла:«неопределенный метод» по методу пользовательских хелперов
match '/security_users/:id/email_confirmation/:activation_code' => 'email_confirmation#new'
и хочу создать собственный помощник, который генерирует путь выше для указания SecurityUser. В моем application_controler.rb файле у меня есть метод выше:
class ApplicationController < ActionController::Base
protect_from_forgery
private
def email_confirmation_path(security_user)
"/security_users/#{security_user.id}/email_confirmation/#{security_user.activation_code}"
end
helper_method :email_confirmation_path
end
Но когда я называю это в моем шаблоне /views/security_user_mailer/email_confirmation.text.erb как это:
<%= email_confirmation_path(@security_user) %>
Я получаю следующая ошибка:
NoMethodError at /security_users undefined method `email_confirmation_path' for #<#:0x6340ff53>
Не могли бы вы дать совет?
EDIT:
Ниже вы можете найти рабочий процесс:
Во-первых, когда пользователь создается следующая строка выполняется
@security_user.send_email_confirmation
выше метод определен в файле модели объекта например:
def send_email_confirmation
SecurityUserMailer.email_confirmation(self).deliver
end
Затем в контроллере почтовой программы, ниже вызывается метод:
def email_confirmation(security_user)
@security_user = security_user
mail to: security_user.email, subject: 'Account Created'
end
Предыдущий метод использует мой шаблон, в котором мне нужно вызвать пользовательский метод генератора путь:
<%= email_confirmation_path(@security_user) %>
, но я получаю сообщение об ошибке, что не определено.
Большое спасибо за информацию. – gotqn