草庐IT

工作内容

全部标签

ruby-on-rails - Rails 设计 : user_signed_in? 不工作

我的观点是:但是当以用户身份登录时:我仍然可以看到链接:为什么助手不工作? 最佳答案 您是否在Controller中使用了devise的beforeaction?before_action:authenticate_user! 关于ruby-on-rails-Rails设计:user_signed_in?不工作,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6003883/

ruby-on-rails - Sidekiq 工作人员没有被触发

我正在使用Sidekiq对于我的后台工作:我有一个workerapp/workers/data_import_worker.rbclassDataImportWorkerincludeSidekiq::Workersidekiq_optionsretry:falsedefperform(job_id,file_name)begin#Somelogicinit.....endend从文件lib/parse_excel.rb调用defparse_raw_data#job_idand#filenamearedefinedbfrDataImportWorker.perform_async(jo

ruby - 创建一个固定大小的数组,并用另一个数组填充默认内容?

我想创建一个固定大小的数组,其中默认数量的元素已经从另一个数组中填充,所以假设我有这个方法:deffixed_array(size,other)array=Array.new(size)other.each_with_index{|x,i|array[i]=x}arrayend那么我可以使用如下方法:fixed_array(5,[1,2,3])我会得到[1,2,3,nil,nil]在ruby​​中有更简单的方法吗?就像用nil对象扩展我已有的数组的当前大小一样? 最佳答案 deffixed_array(size,other)Arra

ruby-on-rails - 保护公共(public)内容/Rails 应用程序中的内容

我正在维护一个Rails应用程序,它在public/文件夹中有内容,现在需要通过登录来保护这些内容。我们正在考虑将这些文件文件夹移动到public/之外的路径,并编写一个RailsController来提供内容。在我们开始写这篇文章之前,我很好奇是否还有其他人遇到过此类问题?我寻找了一些可能已经这样做但没有找到任何东西的gem/插件。有人为此创建了gem吗? 最佳答案 我在一个人们付费下载某些文件的站点上完成了此操作,这些文件存储在RAILS_ROOT/private中。首先要知道的是,您希望网络服务器处理发送文件,否则您的应用程序

ruby - Hook 后的 cucumber "puts"不输出任何内容

在Cucumber中,在我的env.rb文件中,我设置了一个before&afterHook(好吧,其中一些,一些链接到特定标签)但是发现afterHook不当我在其中放入puts时,不会输出任何内容。例如,这个有效:Beforedoputs"beforethescenario"end但这不是:Afterdoputs"afterthescenario"end似乎after钩子(Hook)确实运行了(因为在after钩子(Hook)中有一行我遇到了问题&在尝试调试它时,我发现了这个问题)但它们只是没有输出任何东西。我所有的搜索都没有结果,找不到其他有类似问题的人。谁能告诉我是否做错了什么

Ruby regex- gsub 存储它匹配的内容吗?

如果我用.gsub(/matchthisregex/,"replace_with_this")gsub是否将它与正则表达式匹配的内容存储在某处?我想在我的替换字符串中使用它匹配的内容。例如像"replace_with_"+matchedregexstring+"this"在我上面的例子中,matchedregexstring是来自gsub的存储匹配吗?抱歉,如果这让我感到困惑,我不知道还能怎么说。 最佳答案 来自finemanual:IfreplacementisaStringitwillbesubstitutedforthemat

Ruby:如何从当前工作目录中获取 "require"文件?

我如何从当前文件夹中获取文件?我有一个名为sql_parser.rb的文件,其中包含一个类。我想将它包含在同一文件夹中的另一个文件中,所以我使用了:require'sql_parser'当我从该文件夹运行时失败:LoadError:nosuchfiletoload--sql_parser我尝试在该文件所在的文件夹中使用IRB并从那里请求它,但遇到了同样的问题。 最佳答案 在ruby​​1.9.x中,您可以使用require_relative方法。参见http://www.ruby-doc.org/core-1.9.3/Kernel.

ruby-on-rails - Time.use_zone 未按预期工作

现在是旧金山太平洋标准时间下午2:54。出于某种原因,此代码块未返回夏威夷HST中午12:54。我在这里错过了什么吗?我希望此代码返回我在夏威夷的当前时间Time.use_zone('Hawaii')doTime.nowend#=>2012-01-0314:54:54-0800 最佳答案 这应该没问题:Time.use_zone('Hawaii')dopTime.zone.nowend 关于ruby-on-rails-Time.use_zone未按预期工作,我们在StackOverflo

ruby - 如果我在 IRB 中定义了一个 Ruby 方法,我如何在不重新输入所有内容的情况下编辑该方法?

假设我正在运行IRB并在控制台中输入:deffull_name(first,last)puts"Yourfullnameis:#{first,'',last}"end比如说,我想编辑它以包含参数middle,我该如何恢复相同的方法并编辑参数列表并编辑puts无需重新输入整个方法的声明?附言我知道这个例子很简单,我可以很容易地重新输入方法,但我正在试验更大的方法,为了简洁起见,我使用这个简单的方法。谢谢。 最佳答案 你不能。除了重新输入/重新粘贴,或按↑获取所有先前的语句,但对于较长的方法,这可能会非常困惑。为什么不在编辑器中键入您的

ruby - 将数组内容加入 'English list'

我喜欢加入一个数组,生成一个“英文列表”。例如['one','two','three']的结果应该是'one,2andthree'。我写了这段代码来实现的(假设数组不为空,我的情况不是这样)ifarray.length==1result=array[0]elseresult="#{array[0,array.length].join(',')}and#{array.last}"end但我想知道是否存在一些“高级”连接方法来实现这种行为?或者至少是一些更短/更好的代码? 最佳答案 这样的方法在核心Ruby中不存在。已经implemen