草庐IT

ruby-on-rails - 在 seeds.rb 中使用 Paperclip

假设我的seeds.rb文件中有以下条目:Image.create(:id=>52,:asset_file_name=>"somefile.jpg",:asset_file_size=>101668,:asset_content_type=>"image/jpeg",:product_id=>52)如果我播种它,它会尝试处理指定的图像,我会收到此错误:Nosuchfileordirectory-{filepath}etc...我的图像已经备份,所以我真的不需要创建它们;但我需要记录。我不能在我的模型中评论回形针指令;然后就可以了;但我想可能还有另一种解决方案。是否有另一种模式可以遵循以

ruby - 导轨/RSpec : How to test #initialize method?

如何使用RSpec指定#initialize行为?例如这里:generator.rbclassGeneratorattr_accessor:seeddefinitialize(seed=nil)@seed=seed||pick_seedenddefpick_seedTime.now.to_iendendgenerator_spec.rbrequire'generator'describeGeneratorit"calls'pick_seed'methodunlessseedspecified"doendend我想设置从#initialize方法调用的pick_seed方法的期望值。

ruby-on-rails - 拆分 seeds.rb 文件

这个问题在这里已经有了答案:Splitseeds.rbintomultiplesections?(2个答案)关闭8年前。我的seeds.rb文件变得非常大。重构文件中数据的最佳方式是什么?我可以将数据放入各种文件中,并在seeds.rb文件中require吗?

ruby-on-rails - 附加到 rake db :seed in rails and running it without duplicating data

Rakedb:seed使用应用程序的默认数据库值填充您的数据库,对吗?那么如果您已经有一个种子并且需要添加到它(您添加一个需要种子的新功能)怎么办?根据我的经验,当我再次运行rakedb:seed时,它已经添加了现有内容,因此现有内容变成了两倍。我需要的是添加一些种子,当运行时,它应该只添加最新的种子,而忽略现有的种子。我该怎么做?(我通常采用的肮脏的、菜鸟的方式是截断我的整个数据库然后再次运行种子,但这在生产中不是很聪明,对吧?) 最佳答案 更简洁的方法是使用find_or_create_by,如下所示:User.find_or_

ruby-on-rails - 使用 CarrierWave、Rails 3 上传种子文件

我正在尝试使用CarrierWave为Rails3中的数据库播种图像,但我尝试的任何方法似乎都无法正常工作,除非必须手动上传它们。pi=ProductImage.new(:product=>product)pi.image=File.open(File.join(Rails.root,'test.jpg'))pi.store_image!#triedwithandwithoutthisproduct.product_images有人知道如何使用CarrierWave播种吗? 最佳答案 原来CarrierWave的文档有点错误。有一段

ruby-on-rails - 如何使用 Capistrano gem 为生产数据库播种?

我正在使用RubyonRails3.0.9,我想为生产数据库添加种子以添加一些记录而无需重新构建所有数据库(即是,不删除所有现有记录,而只是添加一些尚不存在的记录)。我想这样做,因为需要新数据才能使应用程序正常工作。因此,由于我使用的是Capistranogem,因此我在控制台中运行cap-T命令以列出所有可用命令并了解如何实现我的目标:$cap-T=>...=>capdeploy:seed#Reloadthedatabasewithseeddata.=>...我不确定“使用种子数据重新加载数据库”中出现的“重新加载”一词。句子。所以,我的问题是:如果我在本地计算机的控制台中运行cap

ruby-on-rails - 添加自定义种子文件

我想用虚拟数据填充新功能,但不想使用db/seeds.rb文件,因为它已经包含与此功能无关的其他数据。运行默认seeds.rb文件,你运行命令rakedb:seed.如果我在db中创建一个文件名为seeds_feature_x.rb的目录,rake命令运行(仅)那个文件会是什么样子? 最佳答案 首先创建一个单独的目录来保存您的自定义种子——此示例使用db/seeds。然后,通过将rakefile添加到您的lib/tasks目录来创建自定义任务:#lib/tasks/custom_seed.rakenamespace:dbdoname

ruby-on-rails - 在 Rails 中播种数据库的最佳方法是什么?

我有一个rake任务,它在我的Rails应用程序中填充一些初始数据。例如,国家、州、移动运营商等。我现在设置它的方式是,我在/db/fixtures的文件中有一堆创建语句和一个处理它们的rake任务。例如,我有一个模型是主题。我在/db/fixtures中有一个theme.rb文件,看起来像这样:Theme.delete_allTheme.create(:id=>1,:name=>'Lite',:background_color=>'0xC7FFD5',:title_text_color=>'0x222222',:component_theme_color=>'0x001277',:c

javascript - Javascript 中的高密度随机字符串

我目前正在使用此函数(CreateGUID/UUIDinJavaScript?)在Javascript中生成UUID:lucid.uuid=function(){return'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g,function(c){varr=Math.random()*16|0,v=c=='x'?r:(r&0x3|0x8);returnv.toString(16);});}我知道所有随机性仅来自Javascript的Math.random()函数,我不在乎它是否满足UUID的RFC。我想要的是在Javascri

javascript - 预测 Javascript 的 Math.random 的种子

好的,我正在研究如何使用Math.random方法生成随机数。到目前为止,我了解到它是从一个“随机”种子开始的,然后将该种子插入到一些复杂的方程式中以创建一个随机数。如果种子总是一样的,结果会不会总是一样?听说Math.random的种子是通过当前时间生成的,对吗?他们必须一直使用当前时间,精确到毫秒或其他时间,因为如果你不这样做,你会得到相同的结果。种子到底是什么?是诸如“10:45”之类的时间还是诸如“2012年11月8日10:45”之类的时间和日期,还是某种组合?如何找到种子,以便预测输出?我希望能够插入这个:alert(Math.floor((Math.random()*10)