jjzjj

session_set_save_handler

全部标签

ruby-on-rails - 如何通过 session ID 找到设计用户?

给定session["session_id"]是否可以找到该session所属的已登录User? 最佳答案 至少在我的系统上(rails3.2,devise2.0.4),你可以这样做:session是:{"session_id"=>"be02f27d504672bab3408a0ccf5c1db5","_csrf_token"=>"DKaCNX3/DMloaCHbVSNq33NJjYIg51X0z/p2T1VRzfY=","warden.user.user.key"=>["User",[3],"$2a$10$5HFWNuz5p6fT

ruby-on-rails - rails : Ensure only one boolean field is set to true at a time

我有一个Logo模型,它的字段名称为:字符串,默认为bool值。我希望true值是唯一的,以便一次只能将数据库中的一项设置为true。如何在我的Controller中设置更新和新操作以将Logo的所有其余值设置为false?假设我有以下设置在我的数据库中模特标志名称:字符串|默认值:bool值|项目1|是的|项目2|假|第3项|假|如果我将Item2默认值更改为true,我希望它遍历所有Logo并将其余Logo设置为false,因此一次只有一个为true,所以它看起来像这样。名称:字符串|默认值:bool值|项目1|假|项目2|是的|第3项|假|提前感谢您的帮助。

ruby-on-rails - 保存对象时 after_save 如何工作

如果我执行以下操作:@user.name="John"@user.url="www.john.com"@user.save如果我使用after_save@user.url="www.johnseena.com"@user.save当我这样做时会发生什么?我相信它应该保存值,因为“after_save”回调。 最佳答案 在我看来,如果你在after_save回调中调用save函数,除非你在开始处设置保护,否则它将陷入递归。像这样classUser但是,除了放置守卫外,您还可以使用update_columndefchange_urlup

ruby-on-rails - 找不到路径 "/sessions/user"的设计映射设计登录错误

最近几天很郁闷。我有一个安装了Devise的Rails应用程序,我在其中生成了一个新的用户模型,并且还生成了DeviseView。当我在填写电子邮件和密码字段后单击“登录”并尝试以现有用户身份登录时,会发生这种情况:AbstractController::ActionNotFound-Couldnotfinddevisemappingforpath"/sessions/user".Thismayhappenfortworeasons:1)Youforgottowrapyourrouteinsidethescopeblock.Forexample:devise_scope:userdog

ruby - 为什么 rubocop 或 ruby​​ 风格指南不喜欢使用 get_ 或 set_?

我在我的项目上运行rubocop并修复它提出的投诉。一个特别的提示困扰着我Donotprefixreadermethodnameswithget_我无法从这个投诉中了解太多,所以我查看了sourcecodeingithub.我找到了这个片段defbad_reader_name?(method_name,args)method_name.start_with?('get_')&&args.to_a.empty?enddefbad_writer_name?(method_name,args)method_name.start_with?('set_')&&args.to_a.one?end

ruby - session 越过。 Rails 上的 Ruby

我有一个使用devise进行身份验证的应用程序。ruby1.9.2上的Rails3,passenger位于nginx之上。这是我的问题:我注意到有时我的session会交叉。在以一个用户身份登录时,我有时会成为另一个用户。这真是一个可怕的问题。我已经设法通过使用active_recordsession存储让它停止。但我对它可能发生的地方感到困惑。它在使用cookie存储和memcached存储时都会发生。我不确定从哪里开始调试。我已经完成了我所有的代码,而且我只是从“current_user”中读取而不是写入。我没有任何代码在session中存储项目。任何人都可以给我建议,告诉我这可能

ruby-on-rails - Rails - 多个顶级域和一个 session /cookie

我已经为此苦苦挣扎了很长一段时间,但一直无法找到解决办法。我需要一个用户能够查看多个顶级单次登录的域名。我的理解是这需要在environment.rb中设置并且用before_dispatch调用。这是我想出的:require'activesupport'require'dispatcher'moduleActionControllerclassDispatcherdefset_session_domainActionController::Base.session_options.update:session_domain=>"#{@request.host}"endbefore_d

ruby - Sinatra 在发布时清除 session

enable:sessionsset:session_secret,'secret'post'/login'dosession[:loggedInUser]=jsondata['username'].to_sputssession[:loggedInUser]+"isthesession"end此时一切都很好。当我这样阅读session时:get'/debug'dosession.inspectend它都在那里。但问题来了。当我稍后去另一个帖子请求时:post'/foo'do#donothingendsession被清除。为什么?这是错误吗?编辑我已经缩小了问题的范围:我通过nginx

ruby - 如何在 Ruby 中做 sane "set-difference"?

演示(我期待结果[3]):[1,2]-[1,2,3]=>[]#Hmm[1,2,3]-[1,2]=>[3]#Iseea=[1,2].to_set=>#b=[1,2,3].to_set=>#a-b=>#WTF!和:[1,2,9]-[1,2,3]=>[9]#Hmm.Wouldlike[[9],[3]]如何在不考虑输入顺序的情况下执行真正的集差异?附言。顺便说一句,我需要为两个2000元素的数组执行此操作。通常,数组#1的元素少于数组#2,但这并不能保证。 最佳答案 -operator应用于两个数组a和b给出relativecompleme

ruby - 如何在 Rack 应用程序中设置/获取 session 变量?

useRack::Session::Pool...session[:msg]="HelloRack"编辑:session这个词似乎没有解决。我在我的config.ru中包含了session池中间件,并尝试在ERB文件中设置一个变量(我使用的是RubyServe),它提示“未定义的局部变量或方法‘session’”谢谢! 最佳答案 session是一些网络框架的一部分的方法,例如Sinatra和Rails两者都有session方法。普通的rack应用程序没有session方法,除非您自己添加一个。session哈希存储在键rack.s