草庐IT

home_work_id

全部标签

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 - 总和(&:x) not working any more

我在我的Rails应用程序(4.1.2)中使用payments.sum(&:price)。自从我从Ruby1.9.3更新到2.1.2后,出现了以下错误:wrongnumberofarguments(1for2..3)这些变体有效:payments.map(&:price).sumpayments.to_a.sum(&:price)我必须重写我的代码还是我遗漏了什么?谢谢! 最佳答案 来自documentation:sum(*args)Calculatesthesumofvaluesonagivencolumn.Thevalueisr

ruby httparty 在发布后获取响应 url 或 id

如何在发布后在单独的脚本中使用httparty从Rails项目中获取响应url或id?ruby脚本:HTTParty.post('http://localhost:3000/change_logs',parameters)response.body和所有其他的不显示url和响应id 最佳答案 两年后,我找到了一种从response的request属性访问最后一个URI的方法:url="http://example.com/redirects/to/www"response=HTTParty.get(url)response.requ

ruby-on-rails - bash :/home/XXX/. rvm/scripts/rvm: 没有那个文件或目录

我只是演练了如何使用RVM在Ubuntu上安装RubyonRails。首先,我以root用户身份登录。然后我开始执行以下命令。\curl-sSLhttps://get.rvm.io|bash-sstable--rails已安装,没有任何错误。source~/.rvm/scripts/rvm当我运行这个命令时。它显示错误为bash:/home/XXX/.rvm/scripts/rvm:Nosuchfileordirectory我添加了[[-s"$HOME/.rvm/scripts/rvm"]]&&。我的.bashr文件中的“$HOME/.rvm/scripts/rvm”命令。

ruby-on-rails - 从 Rails 控制台修改数据库 ID?

我有一个小型数据库,一直在通过Rails页面添加条目。我“销毁”了其中一个条目,现在我的ID序列跳过了一个。例如,我现在有42然后是44,而不是显而易见的:42、43、44。我想知道是否有办法通过控制台编辑新对象的ID号。我试过:record.id=43record.save和record=record.newrecord.attributes={:id=>43}但两者均无效。我相当确定必须有一个控制台方法,但我似乎无法在谷歌上找到更多具体信息,而且我可能错误地阅读了RailsAPI......我是否可能必须通过sqlite中的直接SQL来执行此操作?谢谢

ruby-on-rails - 如何在 ruby​​ ActiveRecord 中销毁没有 ID 列的记录?

我有一个没有ID列的表。当我尝试使用ActiveRecord从中删除时,生成的SQL是DELETEFROMtable_nameWHEREID=NULL,这显然不起作用。有什么方法可以使用ActiveRecord从表中删除,或者至少运行带有占位符的原始SQL删除查询(因此它不易受到SQL注入(inject)的攻击)? 最佳答案 您是否尝试过使用ActiveRecord的delete_all方法?这是我的沙箱中的摘录:>>customer=Customer.new(:login=>'foo')=>#,discount:0,last_fo

ruby-on-rails - Rails 路由到用户名而不是 id

我正在尝试将Rails路由从/users/1更改为/username。我目前对此进行了设置,因此它适用于显示和编辑操作。实际问题是,当我使用以下方法更新用户时:它从不更新,因为更新操作被路由到/users/:id。有什么方法可以路由它以使其适用于/username?(这是在我的表单中作为Action呈现的路线)。一段时间以来,我一直在摸不着头脑。编辑:问题不是路由到用户名,而是它工作正常。问题是表单路由到/username进行更新,但是用户的更新路由仍然是/users/:id而不是:/id。我尝试更新我的路线,但无济于事:match'/:id',:to=>"users#show",:a

ruby - Ruby gems 的默认搜索路径是什么?即默认的 GEM_HOME

Rubygems的默认搜索路径是什么?我正在尝试确定可以将哪些目录传递给gem的--install-dir开关,这样我就不必设置环境变量GEM_HOME表示要找到的gem。特别是,如果我安装gemjekyll通过$geminstall--bindir/usr/local/bin--install-dir/usr/local/lib/ruby/gems/1.8jekyll然后/usr/local/bin/jekyll在没有显式设置GEM_HOME的情况下找不到它的库:$jekyll--help/usr/lib/ruby/1.8/rubygems.rb:779:in`report_acti

ruby-on-rails - rails redirect_to :back not working

我正在尝试使用以下内容:classPaymentsController我遇到了这个异常:undefinedmethod`back_url'for#为什么会这样? 最佳答案 Rails5有redirect_back,而不是redirect_to:back。它已更改,因为它过去常常在请求的HTTP_REFERER不存在时引发异常。所以使用这个:redirect_backfallback_location:root_path您可以根据需要将root_path更改为其他内容。 关于ruby-on

ruby-on-rails - 从 ActiveRecord 中的一系列 id 中搜索

我怎样才能在范围内做这样的事情?User.find(14000..14500)我需要选择特定范围的用户开始和结束特定的ID。 最佳答案 您可以使用where方法:User.where(id:14000..14500)说明此处的where方法接收一个缩写形式的散列参数,其中id键的值为Range。. 关于ruby-on-rails-从ActiveRecord中的一系列id中搜索,我们在StackOverflow上找到一个类似的问题: https://stacko