Tag: ruby

在rails 4中使用secret_key_base有什么用

我是Rails 4的新手,并不明白在Rails 4中config/secrets.yml secret_key_base下的secret_key_base的用法。你能解释一下这个概念吗? 另外,当我在生产环境中工作时,系统会提示secret_key使用devise.rb , config.secret_key和secret_key_base 。 但是,我可以使用rake secret命令生成一个新的机密。 开发和生产环境有什么区别? 当我每次生成secret_key时,它是如何与新生成的secret_key匹配的? 它如何保护与其他服务器的应用程序?

ruby超级关键字

据我所知, super关键字在当前类的超类中调用与当前方法同名的方法。 在autoload方法下面,有一个super调用。 我想知道在哪个超类中,我会find一个名称相同的方法,或者在这里调用super module ActiveSupport module Autoload … def autoload(const_name, path = @@at_path) full = [self.name, @@under_path, const_name.to_s, path].compact.join("::") location = path || Inflector.underscore(full) if @@eager_autoload @@autoloads[const_name] = location end super const_name, location end …. end end module ActiveRecord extend ActiveSupport::Autoload … autoload :TestCase autoload :TestFixtures, 'active_record/fixtures' end 这段代码来自rails master分支。 非常感谢。

如何在Ruby脚本中运行Rake任务?

我有Rake任务,我通常会从命令行调用一个Rakefile : rake blog:post Title 我想写一个Ruby脚本多次调用Rake任务,但是我看到的唯一解决scheme是使用“(反引号)或system脱壳。 什么是正确的方法来做到这一点?

什么时候在Ruby中使用`require`,`load`或`autoload`?

我理解Ruby中require , load和autoload之间的细微区别,但是我的问题是,你怎么知道使用哪一个? 除了能够在匿名模块中“包装” load , require似乎是优选的。 但是,然后autoload允许你懒加载文件 – 这听起来很棒,但我不确定实际上你所获得的require 一种方法比另一种更受欢迎吗? 有一种方法脱颖而出吗?

在方法定义中放在方法名后面时,equal('=')符号会做什么?

我在截屏中看到了这一点,只是想知道在这种情况下“=”符号的作用。 def express_token=(token) … end 我会明白,如果是这样的事情 – def express_token(token = nil) 上面的(第二个代码片段)意味着将nil设置为令牌参数的默认值。 但是,在第一个代码片段中,“=”在方括号之外。 提前致谢。

Ruby有mkdir -p吗?

可能重复: 如何在ruby中recursion创build目录? 在Ruby中,我该怎么做: mkdir -p cool/beans 以下是我想到的: Dir.mkdir('cool') unless File.directory?('cool') cool_beans_path = File.join('cool', 'beans') Dir.mkdir(cool_beans_path) unless File.directory?(cool_beans_path) 但是,有没有更好的办法? 我知道我可以这样做: system('mkdir', '-p', File.join('cool', 'beans')) 但是,这不是平台独立的,是吗? 就像,它在Mac上,但不是在Windows上,对不对?

用于Windows的Ruby on Rails编辑器

我喜欢在家里的Mac上使用Textmate,但是在工作中很难find使用(windows)的东西。 什么是在Windows上使用Ruby on Rails的最佳编辑器,使您对Textmate的外观和感觉最亲密?

什么是“需要”默认查找的path?

在Ruby中,我被告知,在做 require "some_file" Ruby会在某些地方查找这个文件。 我知道它寻找some_file.rb ,但它在哪里寻找默认?

是否有可能在模块中定义一个'before_save'callback?

是否有可能在模块中定义before_savecallback? 像这样的class级: class Model include MongoMapper::Document include MyModule end 和这样一个模块: module MyModule before_save :do_something def do_something #do whatever end end do_something将在任何Model对象被保存之前调用? 我试过这样,但得到undefined method 'before_save' for MyModule:Module 。 道歉,如果它是简单的 – 我是新来的Ruby和Rails。

Rubocop Linelength:如何忽略带注释的行?

使用Rails 4应用程序时,我想要Rubocop在检查一行是否很长时忽略包含注释的行(只是一个注释或一些带行尾注释的代码)。 有没有办法做到这一点?