我的 Article.rb 中有一个小的文章百科全书:
class Article < ActiveRecord::Base
attr_accessible :name, :content
end
如果我在一篇文章中找到与另一篇文章的名称相对应的文本,我现在想在文章中自动链接。例如,在名为“示例一”的文章中,内容是“您也可以查看示例二以进一步阅读”。在保存“示例一”时,我想设置文章“示例二”的链接。我的方法是添加到 Article.rb
class Article < ActiveRecord::Base
attr_accessible :name, :content
before_save :createlinks
def createlinks
@allarticles = Article.all
@allarticles.each do |article|
self.content = changelinks(self.content)
end
end
def changelinks(content)
content = content.gsub(/#{article.name}/, "<%= link_to '#{article.name}', article_path(article) %>")
end
我的articles_controller 是:
def update
@article = Article.find(params[:id])
if @article.update_attributes(params[:article])
redirect_to admin_path
else
render 'edit'
end
end
但显然有一个错误引用行 content = content.gsub(etc...):
ArticlesController 中的 NameError#update 未定义的局部变量或方法 `article' for #
我该如何解决这个问题,以便它检查所有其他文章名称并为我要保存的当前文章创建链接?