2012-01-14 91 views
0

我有一個notices模型,其中包含每個用戶的通知記錄。每個notice記錄包含一個message這是一個帶有通知消息的文本字段。這些消息看起來像:Rails - 如何在文本字段中包含超鏈接

"#{current_user.username} liked your photo '#{@photo.name}." 

在上面的示例中,我希望用戶和照片也是該用戶和照片的超鏈接。

這裏是我的likes_controller片段,其產生notice當一個新like創建:

class LikesController < ApplicationController 

    def create 
    @photo = Photo.find(params[:id]) 
    @like = Like.new(:photo_id => @photo.id, :user_id => current_user.id) 

    if @like.save 
     @notice = Notice.new(:user_id => @photo.user_id, :message => "#{current_user.username} liked your photo '#{@photo.name}' 
    end 

我如何能在郵件中包含的鏈接有什麼想法;這甚至有可能嗎?謝謝。

+1

http://stackoverflow.com/questions/1332013/what-approach-do-you-take-for-embedding-links-in-flash-messages這是一種方法。不知道我喜歡它,但它的工作原理。您也可以搜索「在控制器中包含助手」。 – Robin 2012-01-14 14:12:16

+0

感謝羅賓,那裏的第一個答案爲我做了訣竅。我希望有一個更清潔的方法,但它現在起作用。 – 2012-01-14 14:23:58

回答

2

添加鏈接到您的消息是一個渲染問題。在我看來,你正在渲染信息太快,我會在視圖中渲染它。

如果您更改Notice模型以使其包含user_id和like_id,則可以在視圖中呈現通知文本(如果證明有必要,也可以稍後本地化文本。

在視圖中渲染讓您使用標準link_to助手來生成鏈接。

相關問題