Questions tagged «ruby»

Ruby是由松本行弘(Matz)于1995年创建的一种多平台开放源代码,动态的,面向对象的解释性语言。[ruby]标记用于与Ruby语言有关的问题,包括其语法和库。Ruby on Rails问题应标记为[ruby-on-rails]。


5
Rails 4的回形针:: Errors :: MissingRequiredValidatorError
尝试在Rails博客应用中使用回形针进行上传时出现此错误。不知道当它说“ MissingRequiredValidatorError”时指的是什么,我认为通过更新post_params并给它:image会很好,因为创建和更新都使用post_params Paperclip::Errors::MissingRequiredValidatorError in PostsController#create Paperclip::Errors::MissingRequiredValidatorError Extracted source (around line #30): def create @post = Post.new(post_params) 这是我的posts_controller.rb def update @post = Post.find(params[:id]) if @post.update(post_params) redirect_to action: :show, id: @post.id else render 'edit' end end def new @post = Post.new end def create @post = Post.new(post_params) if @post.save redirect_to action: :show, …

3
评论“ frozen_string_literal:true”有什么用?
这是rspec我的项目目录中的binstub。 #!/usr/bin/env ruby begin load File.expand_path("../spring", __FILE__) rescue LoadError end # frozen_string_literal: true # # This file was generated by Bundler. # # The application 'rspec' is installed as part of a gem, and # this file is here to facilitate running it. # require "pathname" ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile", Pathname.new(__FILE__).realpath) …

7
如何从抽佣任务中早日返回?
我有一个rake任务,在开始时要进行一些检查,如果其中一项检查失败,我想从rake任务中早返回,则我不想执行任何剩余的代码。 我认为解决方案是将返回值放到我想从代码中返回的位置,但是出现以下错误 unexpected return
226 ruby  rake 

13
Ruby:筛选哈希键的最简单方法?
我的哈希看起来像这样: params = { :irrelevant => "A String", :choice1 => "Oh look, another one", :choice2 => "Even more strings", :choice3 => "But wait", :irrelevant2 => "The last string" } 我想要一种简单的方法来拒绝所有不是choice + int的键。可以是choice1,也可以是choice1到choice10。不同。 如何仅选择单词并在其后的一个或多个数字中选出键? 奖金: 用制表符(\ t)作为分隔符,将哈希值转换为字符串。我这样做了,但是花了几行代码。通常,高级Rubicians可以在一行左右的时间内完成此操作。
225 ruby 

18
在日历应用程序中为重复事件建模的最佳方法是什么?
我正在构建一个需要支持重复事件的组日历应用程序,但是我为处理这些事件而想出的所有解决方案都像黑客一样。我可以限制一个人可以看到的距离,然后立即生成所有事件。或者,我可以将事件存储为重复事件,并在日历上向前看时动态显示它们,但是如果有人想更改事件特定实例的详细信息,则必须将它们转换为正常事件。 我敢肯定有更好的方法可以做到这一点,但我还没有找到。对重复事件建模的最佳方法是什么,您可以在其中更改特定事件实例的详细信息或删除特定事件实例? (我使用的是Ruby,但是请不要让它限制您的答案。但是,如果有特定于Ruby的库之类的东西,那很高兴知道。)

5
在Ruby中的多行中拆分长字符串而不剥离换行符
我们最近决定在我的工作中使用红宝石风格指南。命令之一是,任何行都不能超过80个字符。由于这是一个Rails项目,所以我们通常使用的字符串会长一些-即“ 用户X希望向您发送有关Thing Y的消息 ”,但这些字符串并不总是符合80个字符的样式限制。 我了解通过三种方式使长字符串跨越多行: 赫雷多克 %Q {} 实际的字符串连接。 但是,所有这些情况最终都需要花费更多的计算周期,这似乎很愚蠢。字符串连接很明显,但是for HEREDOC和%Q我必须通过类似来删除换行符.gsub(/\n$/, '')。 有没有一种纯粹的语法方式可以做到这一点,就等于将整个字符串放在一行上?显然,目标是不花费任何额外的周期,仅仅是因为我希望我的代码更具可读性。(是的,我意识到您必须进行很多折衷……但是对于字符串长度,这似乎很愚蠢。) 更新:反斜杠并不是我想要的,因为您丢失了缩进,这实际上会影响样式/可读性。 例: if foo string = "this is a \ string that spans lines" end 我发现以上内容有点难以阅读。 编辑:我在下面添加了一个答案;三年后,我们现在有了曲折的heredoc。

11
您在Rails中的相对时间如何?
我正在编写一个Rails应用程序,但似乎找不到相对时间的方法,即如果给定某个Time类,它可以计算“ 30秒前”或“ 2天前”,或者它的时间超过一个月“ 2008年9月1日”等


6
如何获得特定的输出,在Ruby中迭代哈希?
我想得到一个特定的输出,它迭代了一个Ruby Hash。 这是我要遍历的哈希: hash = { 1 => ['a', 'b'], 2 => ['c'], 3 => ['d', 'e', 'f', 'g'], 4 => ['h'] } 这是我想要的输出: 1----- a b 2----- c 3----- d e f g 4----- h 在Ruby中,如何通过Hash获得这样的输出?
218 ruby  hash  output 

20
无法安装pg gem
我尝试使用,gem install pg但似乎不起作用。 gem install pg 给出这个错误 Temporarily enhancing PATH to include DevKit... Building native extensions. This could take a while... ERROR: Error installing pg: ERROR: Failed to build gem native extension. C:/Ruby/bin/ruby.exe extconf.rb checking for pg_config... no No pg_config... trying anyway. If building fails, please try again with --with-pg-config=/path/to/pg_config …

15
find_spec_for_exe':找不到gem bundler(> = 0.a)(Gem :: GemNotFoundException)
我用过sudo bundle install,那可能是问题的原因? 我现在有: gem -v 2.6.14 ruby -v 红宝石2.3.5p376(2017-09-14修订版59905)[x86_64-darwin15] jekyll -v 杰基尔3.6.2 bundle -vBundler版本1.16.0.pre.3 尝试运行时bundle exec jekyll serve或刚出现以下错误jekyll serve /Users/myusername/.rvm/rubies/ruby-2.3.5/lib/ruby/site_ruby/2.3.0/rubygems.rb:271:in `find_spec_for_exe': can't find gem bundler (>= 0.a) (Gem::GemNotFoundException) from /Users/myusername/.rvm/rubies/ruby-2.3.5/lib/ruby/site_ruby/2.3.0/rubygems.rb:299:in `activate_bin_path' from /Users/myusername/.rvm/gems/ruby-2.3.5/bin/bundle:23:in `<main>' from /Users/myusername/.rvm/gems/ruby-2.3.5/bin/ruby_executable_hooks:15:in `eval' from /Users/myusername/.rvm/gems/ruby-2.3.5/bin/ruby_executable_hooks:15:in `<MacBooMacBook-MacBook-MacBook-Pro-MacBook-PrMacBook-MacBooMacBMaMacBMaMaMaMaMaMaMaMaMacBMaMaMaMacBMa 另外,访问我拥有博客的文件夹时,还会cd my_path收到以下消息: VM使用您的Gemfile选择Ruby,这一切都很好-Heroku也这样做,您可以使用“ rvm rvmrc warning ignore / Library …
217 ruby  rubygems  bundle  jekyll 


8
如何创建私有类方法?
这种创建私有类方法的方法如何起作用: class Person def self.get_name persons_name end class << self private def persons_name "Sam" end end end puts "Hey, " + Person.get_name puts "Hey, " + Person.persons_name #=> raises "private method `persons_name' called for Person:Class (NoMethodError)" 但这不是: class Person def self.get_name persons_name end private def self.persons_name "Sam" end end puts …

6
Ruby的dup和clone方法有什么区别?
在Ruby的文档的dup说: 在一般情况下,clone并dup可能在派生类不同的语义。虽然clone用于复制对象(包括其内部状态),但dup通常使用后代对象的类创建新实例。 但是,当我进行一些测试时,我发现它们实际上是相同的: class Test attr_accessor :x end x = Test.new x.x = 7 y = x.dup z = x.clone y.x => 7 z.x => 7 那么这两种方法有什么区别?
214 ruby  clone  dup 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.