20

私はこのような2つのモデルを持っています:-

モデル 1 - カード - フロント ページの
添付ファイル名 = cardimageの対象データの表現が含まれ
ます モデル 2 - ユーザー - ユーザーの
添付ファイル名 = アバター が含まれます

作るとき!新しいカードの場合、ユーザー モデルのアバターを新しいカード イメージとしてカード モデルにコピーしたいと考えています。

これには簡単なワンライナーがありますか?

Ruby/Rails/ペーパークリップ

4

4 に答える 4

37

これでうまくいくはずです。after_createモデルが関連付けられている場合はコールバックを使用できますが、そうでない場合は、カードを作成するコントローラーアクションでコールバックを実行することをお勧めします。

instance_of_model_one.cardimage = instance_of_model_two.avatar
instance_of_model_one.save
于 2013-01-08T21:33:04.327 に答える
1

2 つのモデルがあるとします。

  • ユーザー
  • プレーヤー

profile_imageからUser with id = 1にコピーする必要がありますPlayer with id = 10。次の操作を実行できます。

user = User.find(1)
player = Player.find(10)

player.profile_image = user.profile_image
player.save!

場合によっては、これでファイルが保存されることがありますが、ファイル サイズは 0 バイトです。このような場合は、次のことを試してください。

user = User.find(1)
player = Player.find(10)

player.profile_image = user.profile_image.url
player.save!

これでうまくいきます!

于 2020-03-10T09:45:17.963 に答える