Использование метода ActionMailer в операторе link_to — Rails 3.2.3

Я хотел бы предоставить ссылку, при нажатии на которую будет отправлено электронное письмо администратору, чтобы сообщить им об удалении записи. Я искал несколько часов, включил сюда, но не смог найти ни одного примера.

Вот текущий код, который я хотел бы изменить:

link_to "Delete your User Account?", @user, method: :delete, confirm: "You sure? This will permanently delete your account.  If you want to access our site in the future you will need to create a new account again.  Are you sure you want to delete your account?" %>

Я хотел бы заменить «метод: :delete» на метод ActionMailer. Я искал примеры в документации по Ruby на api.rubyonrails.org и в других местах, но ничего не нашел.

Это то, что я могу сделать без установки драгоценного камня?

Почему так сложно найти документацию с примерами? Вздох.....


person Pamela Cook - LightBe Corp    schedule 24.05.2012    source источник


Ответы (1)


«Метод: удалить» — это методы HTTP, передаваемые в заголовках при вызове URL-адреса, который затем используется маршрутами для поиска правильного контроллера и действия.

Вы захотите поместить вызовы методов в почтовую программу в своем контроллере, где находится действие User#destroy.

было бы что-то вроде этого.

def destroy
  @user = User.find(params[:user])
  if @user.desotry
    # Tell the UserMailer to send a email after destroy
    UserMailer.delete_account_email(@user).deliver
    redirect_to(@user, :notice => 'Account was successfully closed.')
  end
end
person Polygon Pusher    schedule 01.06.2012
comment
Огромное спасибо. Для этого я создал логическое поле. Я должен был подумать об этом. Я удалю поле и воспользуюсь вашим предложением. Я уверен, что это сработает. Другой вопрос: можете ли вы передать какое-либо поле в ActionMailer, кроме полей в модели получателя? Я хотел бы заменить поля, которые я добавил в базу данных, рабочими полями. Может быть, я могу создать их так же, как пароль и подтверждение пароля, но физически не иметь их в базе данных. Большое спасибо за ваш вклад. - person Pamela Cook - LightBe Corp; 02.06.2012
comment
Вы должны прочитать это guides.rubyonrails.org/action_mailer_basics.html и не забудьте отметить это как ответил. :) - person Polygon Pusher; 02.06.2012
comment
Спасибо, Диджитал. Пожалуйста, дайте мне знать, как пометить что-то отвеченным :) Я использовал ссылку, которую вы предложили для ActionMailer, чтобы написать свои первоначальные почтовые программы. Это действительно хорошо. Однако хотелось бы увидеть примеры, когда почтовики использовали переданные с экрана поля. Знаете ли вы какие-либо примеры этого или это вообще возможно? Во всех примерах используется один параметр. - person Pamela Cook - LightBe Corp; 03.06.2012
comment
В правом верхнем углу этого ответа есть флажок. Я действительно не знаю ответа о том, как передать больше, чем аргумент, который я видел, как люди говорят, что они оборачивают активные письма в совершенно новый класс. - person Polygon Pusher; 03.06.2012
comment
Отлично. Я буду помнить в следующий раз :) Я буду продолжать искать, как передать более одного аргумента. Я создал новые поля в базе данных, чтобы получить необходимую мне информацию по электронной почте. Спасибо за ваш вклад. - person Pamela Cook - LightBe Corp; 03.06.2012