创建新文章时,我想向用户发送一封电子邮件,其中包含有关该文章的通知以及阅读该文章的链接。
所以我在我的控制器中创建了这个#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会以某种方式处理它,不是吗?
答案 0 :(得分:1)
试试这个,使用article_path
代替articles_path
<%= link_to "Read Article1", article_path(@articlenotif.id) %>