我正在尝试为 RedCloth 制作自定义标签。但是,我需要从数据库中获取一些数据并以此为基础标记。即当写入“image.1”时,它应该从数据库中获取用户上传的图片,ID 为#1。
但我不知道如何将 current_user (或控制器中的其他关键实例变量)传递给模块。我想代码可能看起来像这样:
module RedclothExtension
def image(opts)
@image = User.find(current_user.id).images.where(id: opts[:text])
"#{@image.title}"
end
end
在我看来,有两种方法:
- 将所需的变量传递给模块。
- 从控制器获取实例变量。
但是我该怎么做呢?还是有更聪明的方法?