1

我正在尝试为 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

在我看来,有两种方法:

  1. 将所需的变量传递给模块。
  2. 从控制器获取实例变量。

但是我该怎么做呢?还是有更聪明的方法?

4

0 回答 0