Rails将文件保存在数据库中

时间:2015-09-03 13:39:43

标签: ruby-on-rails sqlite ruby-on-rails-4 database-design

我有用户和附件模型

  

附件模型

create_table :attachments do |t|
  t.attachment :file
  t.belongs_to :user
  t.timestamps null: false
end

我想在附件文件中逐行编写一些数据,例如user.name和user.surname,并将其保存在数据库中。我该如何创建文件?

1 个答案:

答案 0 :(得分:0)

这是一种方法。使用活动记录回调在创建附件之前设置属性。首先,在附件表上为所需数据创建列。

validates :user, presence: true

before_create :update_name_and_surname

def update_name_and_surname
  self.name = self.user.name
  self.surname = self.user.surname
end

然后定义回调。

<强>模型/ attachment.rb

{{1}}