小编mu *_*ort的帖子

如何突破红宝石块?

这是Bar#do_things:

class Bar   
  def do_things
    Foo.some_method(x) do |x|
      y = x.do_something
      return y_is_bad if y.bad? # how do i tell it to stop and return do_things? 
      y.do_something_else
    end
    keep_doing_more_things
  end
end
Run Code Online (Sandbox Code Playgroud)

这是Foo#some_method:

class Foo
  def self.some_method(targets, &block)
    targets.each do |target|
      begin
        r = yield(target)
      rescue 
        failed << target
      end
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

我想过使用raise,但我试图让它变得通用,所以我不想把任何具体的东西放进去Foo.

ruby

407
推荐指数
5
解决办法
30万
查看次数

如何在今天的日期添加天数?

我需要能够使用jQuery在今天的日期添加1,2,5或10天.

javascript jquery date

283
推荐指数
11
解决办法
58万
查看次数

如何允许具有强参数的数组

我有一个功能正常的Rails 3应用程序使用has_many:通过关联,当我将其重新设置为Rails 4应用程序时,让我从Rails 4版本中的相关模型中保存ID.

这两个版本的三个相关模型是相同的.

Categorization.rb

class Categorization < ActiveRecord::Base

  belongs_to :question
  belongs_to :category
end
Run Code Online (Sandbox Code Playgroud)

Question.rb

has_many :categorizations
has_many :categories, through: :categorizations
Run Code Online (Sandbox Code Playgroud)

Category.rb

has_many :categorizations
has_many :questions, through: :categorizations
Run Code Online (Sandbox Code Playgroud)

在这两个应用程序中,类别ID都会像这样传递到create动作中

  "question"=>{"question_content"=>"How do you spell car?", "question_details"=>"blah ", "category_ids"=>["", "2"],
Run Code Online (Sandbox Code Playgroud)

在Rails 3应用程序中,当我创建一个新问题时,它会插入问题表,然后插入到分类表中

 SQL (82.1ms)  INSERT INTO "questions" ("accepted_answer_id", "city", "created_at", "details", "province", "province_id", "question", "updated_at", "user_id") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)  [["accepted_answer_id", nil], ["city", "dd"], ["created_at", Tue, 14 May 2013 17:10:25 UTC +00:00], ["details", "greyound?"], ["province", …
Run Code Online (Sandbox Code Playgroud)

arrays ruby-on-rails strong-parameters

255
推荐指数
6
解决办法
14万
查看次数

为什么Ruby中的除法返回整数而不是十进制值?

例如:

9 / 5  #=> 1
Run Code Online (Sandbox Code Playgroud)

但我期待1.8.如何获得正确的十进制(非整数)结果?为什么它会回归1

ruby math floating-point division integer-division

245
推荐指数
7
解决办法
15万
查看次数

如何在MySQL中使用自动增量字段复制行并插入同一个表中?

我有一张桌子Eg- tab.我要做的是复制一个自动增量列ID = 1的行,并将数据插入到同一个表中,行和列ID = 2.

使用MySql.如何在单个查询中执行此操作?请帮助

mysql sql copy insert

211
推荐指数
7
解决办法
41万
查看次数

如何用另一个键替换哈希键

我有一个条件,我得到一个哈希

  hash = {"_id"=>"4de7140772f8be03da000018", .....}
Run Code Online (Sandbox Code Playgroud)

我希望这个哈希为

  hash = {"id"=>"4de7140772f8be03da000018", ......}
Run Code Online (Sandbox Code Playgroud)

PS:我不知道哈希中的键是什么,它们是随机的,每个键带有一个"_"前缀,我不想要下划线

ruby hash ruby-on-rails ruby-on-rails-3

174
推荐指数
7
解决办法
9万
查看次数

使用Ruby中的方法名称从字符串调用方法

我怎么能在这里做他们正在谈论的事情,但是在Ruby中呢?

你会如何对对象执行此功能?你将如何做一个全局函数(参见jetxee 在上述帖子中的回答)?

示例代码:

event_name = "load"

def load()
  puts "load() function was executed."
end

def row_changed()
  puts "row_changed() function was executed."
end 

#something here to see that event_name = "load" and run load()
Run Code Online (Sandbox Code Playgroud)

更新: 你如何得到全球方法?还是我的全球职能?

我试过这个额外的一行

puts methods
Run Code Online (Sandbox Code Playgroud)

和load和row_change未列出的地方.

ruby metaprogramming

151
推荐指数
3
解决办法
9万
查看次数

PostgreSQL通配符LIKE用于任何单词列表

我有一个简单的~25个单词列表.我在PostgreSQL中有一个varchar字段,让我们说列表是['foo', 'bar', 'baz'].我想在我的表中找到任何包含这些单词的行.这会有效,但我想要更优雅的东西.

select *
from table
where (lower(value) like '%foo%' or lower(value) like '%bar%' or lower(value) like '%baz%')
Run Code Online (Sandbox Code Playgroud)

sql postgresql

140
推荐指数
3
解决办法
12万
查看次数

使用do block vs braces {}

新的红宝石,穿上你的新手套.

以下两个片段之间是否有任何区别(模糊或实用)?

my_array = [:uno, :dos, :tres]
my_array.each { |item| 
    puts item
}

my_array = [:uno, :dos, :tres]
my_array.each do |item| 
    puts item
end
Run Code Online (Sandbox Code Playgroud)

我意识到括号语法允许你将块放在一行上

my_array.each { |item| puts item }
Run Code Online (Sandbox Code Playgroud)

但除此之外是否有任何令人信服的理由使用一种语法而不是另一种语法?

ruby coding-style

111
推荐指数
4
解决办法
6万
查看次数

SQLite - 替换字符串的一部分

是否可以SQLSQLite表中使用来替换字符串的一部分?

例如,我有一个表,其中一个字段保存文件的路径.是否可以替换部分字符串,例如

c:\afolder\afilename.bmp
Run Code Online (Sandbox Code Playgroud)

c:\anewfolder\afilename.bmp
Run Code Online (Sandbox Code Playgroud)

sql sqlite

97
推荐指数
3
解决办法
8万
查看次数