nul*_*ull 3 ruby-on-rails carrierwave
我有两个模型,每个模型都有自己的Carrierwave上传器:
class User < ActiveRecord::Base
mount_uploader :avatar, AvatarUploader
end
Run Code Online (Sandbox Code Playgroud)
和:
class Bookshelf < ActiveRecord::Base
mount_uploader :image, ImageUploader
end
Run Code Online (Sandbox Code Playgroud)
我希望用户的头像是他上传的最新书架图像.我尝试这样做:
class BookcasesController < ApplicationController
def create
@bookcase = current_user.bookcases.build(params[:bookcase])
if @bookcase.save
current_user.avatar = @bookcase.image
current_user.avatar.recreate_versions!
end
end
end
Run Code Online (Sandbox Code Playgroud)
不幸的是,这对头像完全没有影响.我怎么可能做到这一点?
current_user.avatar = @bookcase.image
current_user.avatar.recreate_versions!
Run Code Online (Sandbox Code Playgroud)
实际上没有保存---你可以:
current_user.avatar.save
Run Code Online (Sandbox Code Playgroud)
或者当你把:
current_user.update_attribute(:avatar, @bookcase.image)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3690 次 |
| 最近记录: |