邮件程序 - 链接到特定对象ID

时间:2014-05-26 09:43:36

标签: ruby-on-rails

创建新文章时,我想向用户发送一封电子邮件,其中包含有关该文章的通知以及阅读该文章的链接。

所以我在我的控制器中创建了这个#create :(我传递了用户和文章的对象)

UserMailer.artcile_notification(user, articleobj).deliver

然后在user_mailer.rb中我有这个方法:

  def artcile_notification(user, artobj)
    @articlenotif = artobj
   mail(to: user.email, subject: "New Article posted!")
  end

然后在电子邮件中我想指出这篇文章。喜欢/ articles / [:id]。我试过几种方法,我最好的尝试是这些:

<p>
  <%= link_to "Read Article1", :controller => "articles", :only_path => false, :id => @articlenotif.id %>
  <%= link_to "Read Article2", articles_path(@articlenotif.id) %>
</p>

Read Article1链接返回此网址:http://localhost:3000/articles?id=29

并且Rad Article2链接返回此网址http://articles.29/

我当然需要only_path选项,但我需要的链接类似于http://localhost:3000/articles/29

我知道我可以采取&#34;阅读Article1&#34;的链接并将其重定向到正确的文章,但这是否真的有必要?我认为Rails会以某种方式处理它,不是吗?

1 个答案:

答案 0 :(得分:1)

试试这个,使用article_path代替articles_path

<%= link_to "Read Article1", article_path(@articlenotif.id) %>