使用paperclip gem更改列名称

bsw*_*ton 6 ruby-on-rails

有没有办法更改回形针在生成数据库迁移时使用的列名?例如,目前回形针迁移如下所示:

class AddAvatarColumnsToUsers < ActiveRecord::Migration
  def self.up
    add_attachment :users, :avatar
  end

  def self.down
    remove_attachment :users, :avatar
  end
end
Run Code Online (Sandbox Code Playgroud)

它在数据库中生成以下内容:

avatar_file_name
avatar_file_size
avatar_content_type
avatar_updated_at
Run Code Online (Sandbox Code Playgroud)

理想情况下,我想将avatar_file_name更改为对应于名为"content"的数据库中的列.这可能吗?

Sub*_*han 4

将列重命名为其他名称<attachment>_<attribute>在 Paperclip 中不起作用。

模型中的每个附件都必须具有以下 4 个属性:

  • <attachment>_file_name
  • <attachment>_file_size
  • <attachment>_content_type
  • <attachment>_updated_at

查看这篇文章,了解关于为什么遵循某种<attachment>_url方法可能比使用单独的附件模型更好的辩论 ( <attachment>.url):回形针和继承 (STI)