2014-11-09 36 views
0

如何定義模型屬性的方法。如何爲模型屬性定義方法

我有一個圖片模型,有一個標題。

Picture.title = "Some title #with a few #hashtags" 

我想使這些井號標籤鏈接到標籤#顯示

Picture.title.with_links = "Some title <%= link_to "#with", tag_path(tag) %> a few <%= link_to "#hashtags", tag_path(tag) %>" 

請告訴我要做到這一點的最好辦法。我在哪裏定義方法(with_links)?在Picture.rb中?或Pictures_helper.rb?

回答

0

簡而言之,Rails模型不能訪問路由。在非常罕見的情況下,可以使用模型內的路線,但在這種情況下,它不適合這樣做。

with_links的正確位置是PicturesHelper,因此可通過with_links(picture)查看。該聲明將是:

def with_links(picture) 
    out= "Some title " 
    out += picture.tags.collect do |tag| 
    link_to(tag.name, tag_path(tag)) 
    end.join(", ") 
    raw out 
end 
相關問題