小编Bin*_*yan的帖子

TypeError(没有为类Proc定义_dump_data):

我正在尝试使用rails应用程序中的以下代码在会话中存储值

session[:key] = value 
Run Code Online (Sandbox Code Playgroud)

我得到以下错误

TypeError (no _dump_data is defined for class Proc):
activesupport (3.2.9) lib/active_support/message_verifier.rb:53:in `dump'
 activesupport (3.2.9) lib/active_support/message_verifier.rb:53:in `generate'
 actionpack (3.2.9) lib/action_dispatch/middleware/cookies.rb:300:in `[]='
actionpack (3.2.9) lib/action_dispatch/middleware/session/cookie_store.rb:67:in    `set_cookie'
rack (1.4.1) lib/rack/session/abstract/id.rb:330:in `commit_session'
rack (1.4.1) lib/rack/session/abstract/id.rb:206:in `context'
rack (1.4.1) lib/rack/session/abstract/id.rb:200:in `call'
actionpack (3.2.9) lib/action_dispatch/middleware/cookies.rb:341:in `call'
activerecord (3.2.9) lib/active_record/query_cache.rb:64:in `call'
activerecord (3.2.9)    lib/active_record/connection_adapters/abstract/connection_pool.rb:479:in `call'
actionpack (3.2.9) lib/action_dispatch/middleware/callbacks.rb:28:in `block in call'
activesupport (3.2.9) lib/active_support/callbacks.rb:405:in `
Run Code Online (Sandbox Code Playgroud)

任何帮助都非常感谢.

ruby-on-rails ruby-on-rails-3

11
推荐指数
2
解决办法
5839
查看次数

paperclip使用instance_write重命名stringio.txt

我正在使用omniauth-facebook并尝试使用回形针显示个人资料图片.这是我用来将图片添加到用户模型的代码

def picture_from_url(url)
    self.profile_pic =open(url)
end
Run Code Online (Sandbox Code Playgroud)

但是,它始终保存为stringio.txt.所以搜索这个行为我发现回形针允许回调,所以我在User模型中编写了以下方法来重命名文件名

def rename_profile_pic
    self.profile_pic.instance_write :filename, "#{self.username}.jpg"
end 
Run Code Online (Sandbox Code Playgroud)

并将其传递给回调

before_post_process :rename_profile_pic
Run Code Online (Sandbox Code Playgroud)

但这似乎没有帮助.

我有什么想法可以解决这个问题?

谢谢

ruby-on-rails paperclip omniauth ruby-on-rails-3

2
推荐指数
1
解决办法
2183
查看次数