小编the*_*gah的帖子

Rails:update_attribute vs update_attributes

Object.update_attribute(:only_one_field, "Some Value")
Object.update_attributes(:field1 => "value", :field2 => "value2", :field3 => "value3")
Run Code Online (Sandbox Code Playgroud)

这两个都将更新对象,而不必明确告知AR更新.

Rails API说:

for update_attribute

更新单个属性并保存记录,而无需通过正常的验证过程.这对现有记录上的布尔标志特别有用.混合验证模块时,Base中的常规update_attribute方法将替换为此默认值.

for update_attributes

更新传入的Hash中的所有属性并保存记录.如果对象无效,则保存将失败并返回false.

因此,如果我不想验证对象,我应该使用update_attribute.如果我在before_save上有这个更新怎么办,它会堆栈溢出吗?

我的问题是update_attribute是否也绕过了之前的保存或只是验证.

另外,将散列传递给update_attributes的正确语法是什么...查看我顶部的示例.

ruby-on-rails callback update-attributes

250
推荐指数
8
解决办法
27万
查看次数

检查Rails中是否存在表

我有一个rake任务,除非存在一个表,否则它将无效.我正在一个网站上与20多名工程师一起工作,所以我想确保他们已经迁移了表,然后才能执行一个rake任务,该任务将填充相应的表.

AR有这样的方法Table.exists吗?如何确保他们已成功迁移表?

ruby ruby-on-rails rails-migrations rails-activerecord

168
推荐指数
4
解决办法
5万
查看次数

106
推荐指数
4
解决办法
3万
查看次数

File.expand_path("../../ Gemfile",__ FILE__)这是如何工作的?文件在哪里?

ENV["BUNDLE_GEMFILE"] = File.expand_path("../../Gemfile", __FILE__)

我只是想从某个目录访问一个.rb文件,一个教程告诉我使用这个代码,但我不知道它是如何找到gem文件的.

ruby

81
推荐指数
2
解决办法
4万
查看次数

Ruby中的返回点是什么?

return和变换之间有什么区别,如下所示:

没有回报

def write_code(number_of_errors)
  if number_of_errors > 1
     mood = "Ask me later"
  else
     mood = "No Problem"
  end  
  mood
end
Run Code Online (Sandbox Code Playgroud)

返回

def write_code(number_of_errors)
  if number_of_errors > 1
    mood =  "Ask me later"
  else
    mood = puts "No Problem"
  end  
  return mood
end
Run Code Online (Sandbox Code Playgroud)

ruby return

78
推荐指数
2
解决办法
7万
查看次数

jQuery延迟无法正常工作

$('.transparent').removeClass('transparent').delay(2000).addClass('not_transparent').delay(4000)
Run Code Online (Sandbox Code Playgroud)

我有一个半透明的div,然后想把它切换到不透明.但是jQuery .delay(); 方法在这里似乎不起作用.我试过.fadeIn(); 相反,这有效延迟但它不适用于改变类.

jquery

63
推荐指数
2
解决办法
5万
查看次数

<canvas>中的虚线描边

我想不可能设置像CSS这样的笔触属性很容易.使用CSS时,我们在绘制线条/笔划时使用虚线,点线,实体但在画布上这似乎不是一种选择.你是如何实现的?

我已经看过一些例子,但他们真的很渴望这么愚蠢的功能.

例如:

http://groups.google.com/group/javascript-information-visualization-toolkit/browse_thread/thread/22000c0d0a1c54f9?pli=1

javascript html5 canvas

48
推荐指数
6
解决办法
5万
查看次数

Rails关联 - has_many =>:通过 - 但相同的模型

我想做什么:

我有一个博客,想在主帖后面显示相关帖子.

class Post < ActiveRecord::Base

  has_many :related_posts
  has_many :posts, :through => :related_posts

end
Run Code Online (Sandbox Code Playgroud)

然后在连接模型/表中

class RelatedPost < ActiveRecord::Base

  belongs_to :post

end
Run Code Online (Sandbox Code Playgroud)

当然还有一个叫related_postspost_id列的表.

显然这有几个缺点,我只是不确定如何在Rails中使这个关联工作.

ruby-on-rails associations has-many-through

42
推荐指数
2
解决办法
1万
查看次数

ri和rdoc有什么区别

每当我安装宝石时,我都会看到ri和rdoc.我知道这是文档,但两者之间有什么区别以及如何使用它们?

ruby rdoc ri

33
推荐指数
3
解决办法
8457
查看次数

给定数量的所有因素

例如,我有4800,我想看到这个数字的所有因素.

 # num = the number you want factors of

 def factors_of(num)
    (1..num).collect { |n| [n, num/n] if ((num/n) * n) == num}.compact
 end
Run Code Online (Sandbox Code Playgroud)

divisors_of(4800)=> [[1,4800],[2,2,400],[3,1600],[4,1200],[5,960],[6,800],[8,600],[ 10,480],[12,400],[15,320],[16,300],[20,240],[24,200],[25,192],[30,160],[32, 150],[40,120],[48,100],[50,96],[60,80],[64,75],[75,64],[80,60],[96,50] ,[100,48],[120,40],[150,32],[160,30],[192,25],[200,24],[240,20],[300,16],[ 320,15],[400,12],[480,10],[600,8],[800,6],[960,5],[1200,4],[1600,3],[2400, 2],[4800,1]]

你会用红宝石或任何语言做到这一点?

ruby algorithm math

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