现在我试图在注册时为用户下载随机头像。 所以我得到Mechanize并在研究后这样做。
class RegistrationsController < Devise::RegistrationsController
def new
super
end
def create
agent = Mechanize.new
agent.pluggable_parser.default = Mechanize::Download
f = agent.get('http://avatar.3sd.me/100')
f.save('public/images/avatar/it_should_be_user_id.png')
super
end
def update
super
end
end
但我无法弄清楚如何根据用户ID以特定名称保存文件,怎么做?
答案 0 :(得分:1)
我建议你在create
方法中调用super,因此设计控制器的默认设置会在代码执行之前发生。
在RegistrationsController
课程中,您可以使用变量/ resource
(而不是current_user
)来访问当前用户。所以你的代码看起来像这样:
class RegistrationsController < Devise::RegistrationsController
def new
super
end
def create
super
agent = Mechanize.new
agent.pluggable_parser.default = Mechanize::Download
f = agent.get('http://avatar.3sd.me/100')
f.save("public/images/avatar/#{resource.id}.png")
end
def update
super
end
end