рельсы 3: Как бы я написать link_to для ActionMailer на только что созданный объект - PullRequest
0 голосов
/ 20 декабря 2011

У меня есть рекомендации has_many Одобрения.

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

В моей модели одобрения

after_save :create_next_approval, :approval_notification


  attr_accessor :next_approver_email

  def recently_approved?
      self.approved_changed? && self.approved?
    end

    def create_next_approval
      #self.recommendations.create :email => self.next_approver_email if next_approver_email.present? && recently_approved?

      next_approval = self.recommendation.approvals.build(:email => self.next_approver_email)
      next_approval.save  if next_approver_email.present? && recently_approved? 
    end
 private
  def approval_notification
    ApprovalMailer.needs_approval(self).deliver
  end 

В методе create_next_approval я сохраняю next_approval.Затем я отправляю электронное письмо на адрес next_approver_email с просьбой приехать, чтобы одобрить рекомендацию.

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

1 Ответ

0 голосов
/ 20 декабря 2011

Если я правильно буду следовать за вами.Вам необходимо указать ссылку на одобрение, которое вы только что сохранили.Так что это будет self.

В этом случае что-то подобное будет работать в вашем электронном письме, если вы настроили обычные маршруты: <%= link_to "approval link", approval_path(self) %>

Дайте мне знать, если я правильно следую.

...