如何定义模型属性的方法。
我有一个标题的图片模型。
Picture.title = "Some title #with a few #hashtags"
我想将这些hashtags链接到标签#show
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 :(得分: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