Questions tagged «ruby»

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

3
最佳实践:尝试与救援
什么是最佳做法?使用try还是使用rescue? user.try(:email) VS user.email rescue nil post.try(:comments).try(:first).try(:author) VS post.comments.first.author rescue nil 使用这些方法有什么区别吗?

16
如何在Ruby中替换带重音符号的拉丁字符?
我有一个ActiveRecord模型,Foo其中有一个name字段。我希望用户能够按名称搜索,但我希望搜索忽略大小写和任何重音符号。因此,我还要存储一个canonical_name要搜索的字段: class Foo validates_presence_of :name before_validate :set_canonical_name private def set_canonical_name self.canonical_name ||= canonicalize(self.name) if self.name end def canonicalize(x) x.downcase. # something here end end 我需要填写“此处的内容”以替换带重音符号的字符。有没有比这更好的了 x.downcase.gsub(/[àáâãäå]/,'a').gsub(/æ/,'ae').gsub(/ç/, 'c').gsub(/[èéêë]/,'e').... 而且,就此而言,由于我没有使用Ruby 1.9,所以无法将这些Unicode文字放入我的代码中。实际的正则表达式看起来丑陋得多。

4
Ruby字符串到日期的转换
我在Ruby on Rails中遇到了一个问题。我想将格式字符串转换Tue, 10 Aug 2010 01:20:19 -0400 (EDT)为日期对象。 无论如何,我可以做到这一点。 这是我所寻找并尝试的以下方法,但是没有运气: Date.strptime(updated,"%a, %d %m %Y %H:%M:%S %Z") 慢性解析器 Ruby:将字符串转换为日期 使用Ruby从文本解析日期 这个你能帮我吗。



5
何时在Ruby中使用Struct代替Hash?
我没有太多的编程经验。但是,对我来说,Struct似乎有点类似于Hash。 Struct可以做什么好? Struct能做些什么,而Hash做不到? 谷歌搜索之后,Struct的概念在C中很重要,但是我对C并不了解。
72 ruby  hash  struct 

1
如何在Jekyll中链接if语句?
我在Jekyll中使用逻辑运算符,但无法正常工作。 第一页,第二页和第三页都使用相同的布局(作为多语言解决方案的一部分,效果很好,但需要逻辑循环来进行某些布局控制,以保持干燥。) 这是代码: {% if page.type == "post" %} {% include post.html %} {% elseif page.class == "contact" %} {% include contact.html %} {% else %} {{ content }} {% endif %} 如果我将其分解为一个else和一个if else设置,并带有任意两个树,则一切正常。但是,一旦我使用第三个条件,它就会中断。我只能与Jekyll一起使用两个条件吗?我可以进行重组以使case操作员适用,但是我更希望在这里了解基本问题。谢谢大家

7
Ruby中的那些管道符号是什么?
Ruby中的管道符号是什么? 我正在学习Ruby和RoR,它们来自PHP和Java背景,但是我不断遇到这样的代码: def new @post = Post.new respond_to do |format| format.html # new.html.erb format.xml { render :xml => @post } end end 在|format|做什么?这些管道符号在PHP / Java中的等效语法是什么?
72 ruby  syntax 

3
Ruby:如何将数组的数组连接成一个
我在Ruby on Rails(3.1)中有一个数组数组,其中所有内部数组的大小都不同。有没有一种方法可以轻松地将所有内部数组连接起来,以使所有项目都成为一个大的一维数组? 我知道您可以使用Array :: concat函数来连接两个数组,并且我可以做一个循环来依次连接它们,如下所示: concatenated = Array.new array_of_arrays.each do |array| concatenated.concat(array) end 但是我想知道是否有像Ruby一样的衬纸可以更清洁地完成它。 谢谢你的帮助。

5
无法激活sqlite3(〜> 1.3.6),已激活sqlite3-1.4.0
我正在使用Ubuntu,在将db:migrate用于ruby项目时遇到问题。 rails aborted! LoadError: Error loading the 'sqlite3' Active Record adapter. Missing a gem it depends on? can't activate sqlite3 (~> 1.3.6), already activated sqlite3-1.4.0. Make sure all dependencies are added to Gemfile. /home/juan/odin_on_rails/RailsaAPP/bin/rails:9:in `<top (required)>' /home/juan/odin_on_rails/RailsaAPP/bin/spring:15:in `<top (required)>' bin/rails:3:in `load' bin/rails:3:in `<main>' Caused by: Gem::LoadError: can't activate sqlite3 (~> …



6
为什么rake db:migrate:reset未在rake -T中列出?
为什么没有列出某些耙任务rake -T?喜欢db:migrate:reset吗?我可以毫无问题地执行它,但是为什么没有列出它呢?有没有办法获得耙任务的真实完整列表? 百分比-T (在/ home / zeus / projects / my_project中) 谈论#列出所有Rails框架和环境的版本 rake db:create#从config / database.yml中为当前Rails.env创建数据库(使用db:create:all在配置中创建所有数据库) rake db:drop#删除当前Rails.env的数据库(使用db:drop:all删除所有数据库) rake db:fixtures:load#将灯具加载到当前环境的数据库中。 rake db:migrate#迁移数据库(选项:VERSION = x,VERBOSE = false)。 rake db:migrate:status#显示迁移状态 rake db:rollback#将模式回滚到以前的版本(指定步骤w / STEP = n)。 rake db:schema:dump#创建一个db / schema.rb文件,该文件可移植到AR支持的任何数据库中 rake db:schema:load#将schema.rb文件加载到数据库中 rake db:seed#从db / seeds.rb加载种子数据 rake db:setup#创建数据库,加载模式,并使用种子数据进行初始化(使用db:reset首先也删除db) rake db:structure:dump#将数据库结构转储到SQL文件中 rake db:version#检索当前模式版本号 …


18
不兼容的字符编码:ASCII-8BIT和UTF-8
我使用Ruby 1.9.2和Rails 3.0.5 我有以下错误: 不兼容的字符编码:ASCII-8BIT和UTF-8 我认为它与数据库无关。 错误出现在视图的这一行上(只是一个div haml调用): #content 全栈: ActionView::Template::Error (incompatible character encodings: ASCII-8BIT and UTF-8): 21: -flash.each do |name, msg| 22: =content_tag :div, msg, :id => "flash_#{name}" 23: %div.clear 24: #content 25: = yield 26: = render :partial => "layouts/grid_right" if render_grid_right? 27: = render :partial => "layouts/footer" …

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.