草庐IT

git查看commit记录

全部标签

ruby-on-rails - 如何让carrierwave在销毁记录时删除文件?

我正在使用carrierwavegem上传文件。我建立了一个系统,供用户将图像标记为不当图像,并供管理员删除图像。据我所知,对图像调用destroy只会从表中删除路径名。有没有办法让carrierwave实际删除文件本身?或者当我破坏图像路径时,rails应该自动删除文件吗? 最佳答案 就像@mu_is_too_short说的,你可以使用File#delete。这是一个代码片段,您可以在Rails应用程序中稍加调整后将其用作帮助程序。defremove_file(file)File.delete(file)end或者如果您只是将文件

ruby - 通过 factory_girl 协会查找或创建记录

我有一个属于某个组的用户模型。组必须具有唯一的名称属性。用户工厂和组工厂定义为:Factory.define:userdo|f|f.association:group,:factory=>:group#...endFactory.define:groupdo|f|f.name"default"end创建第一个用户时,也会创建一个新组。当我尝试创建第二个用户时,它失败了,因为它想再次创建相同的组。有没有办法告诉factory_girl关联方法首先查找现有记录?注意:我确实尝试定义一个方法来处理这个问题,但是我不能使用f.association。我希望能够在这样的Cucumber场景中使用

ruby-on-rails - 如何计算在 ROR 的特定字段中具有唯一值的记录数?

我有一个包含日期字段的记录集,我想确定记录集中有多少个唯一日期。类似于:Record.find(:all).date.unique.count当然,这似乎行不通。 最佳答案 这在rails4和更高版本中略有变化:distinct=>true现在已弃用。使用:Record.distinct.count('date')或者如果你想要日期和数字:Record.group(:date).distinct.count(:date) 关于ruby-on-rails-如何计算在ROR的特定字段中具有唯

ruby-on-rails - Rails 事件记录查找 ( :all, :order => ) 问题

我似乎无法一次对多个列使用ActiveRecord::Base.find选项:order。例如,我有一个包含日期和参加列的“Show”模型。如果我运行以下代码:@shows=Show.find(:all,:order=>"date")我得到以下结果:[#,#,#,#,#]如果我运行下面的代码:@shows=Show.find(:all,:order=>"attendingDESC")[#,#,#,#,#]但是,如果我运行:@shows=Show.find(:all,:order=>"date,attendingDESC")或@shows=Show.find(:all,:order=>"

ruby - Active Record - 查找今天之前创建的记录

我想获取created_at字段小于今天(一个日期)的所有记录。有没有类似的:MyTable.find_by_created_at( 最佳答案 使用ActiveRecord标准方式:MyModel.where("created_at使用底层Arel界面:MyModel.where(MyModel.arel_table[:created_at].lt(2.days.ago))使用一些thinlayer在Arel上:MyModel.where(MyModel[:created_at]使用squeel:MyModel.where{crea

git常用命令

gitclonehttp:www.git.com.cn........ 克隆git项目gitbranch 查看分支gitbranch-r查看远程分支gitpushorigin--delete分支名 删除远程分支tmpgitcheckout切换分支gitcheckout-b切换并创建分支gitcheckout-b分支名origin/分支名(如果远程分支已存在最好用此命令,在创建分支时会把远程分支最新代码一并拉下来,不会把原分支代码带过来)gitbranch-D删除分支gitpushorigin--delete分支名gitpush--set-upstreamorigin分支名 推送本地分支到远端g

ruby-on-rails - 检查记录是否刚刚在 rails 中被破坏

所以有record.new_record?检查是否有新内容我需要检查是否有东西正在出路。record=some_magicrecord.destroyrecord.is_destroyed?#=>true类似的东西。我知道销毁会卡住对象,所以卡住?某种程度上的工作,但是是否有明确针对此任务的内容? 最佳答案 就去做吧record.destroyed?详情在这里ActiveRecord::Persistence 关于ruby-on-rails-检查记录是否刚刚在rails中被破坏,我们在S

ruby Gemspec 依赖项 : Is possible have a git branch dependency?

在mygem.gemspec中是否可能有一个git分支依赖项?我在想类似下面的事情:gem.add_runtime_dependency'oauth2',:git=>'git@github.com:lgs/oauth2.git'...但它不起作用。 最佳答案 这是不可能的,而且可能永远不会,因为对于RubyGems来说,允许gem开发人员要求用户安装特定的版本控制系统来访问gem是相当严厉的。Gem应该是独立的,具有最少的依赖项,以便人们可以在尽可能广泛的应用程序中使用它们。如果您想为自己的内部项目执行此操作,我的建议是使用Bund

ruby-on-rails - 如何在 RSpec 测试中打开 ActiveRecord 的 SQL 调试日志记录?

我对我的模型进行了一些RSpec测试,我想像在Rails服务器模式中看到的那样打开SQLActiveRecord日志记录。如何做到这一点?我开始我的测试RAILS_ENV=testbundleexecrspecmy/test_spec.rb谢谢 最佳答案 您可以尝试在某处的测试中将ActiveRecord记录器设置为标准输出。如果您正在使用rspec,也许在spechelper中?ActiveRecord::Base.logger=Logger.new(STDOUT) 关于ruby-on

ruby-on-rails - 当没有记录时 find() 为 nil

在我当前的Rails程序中,当我使用类似的东西时user=User.find(10)当没有ID=10的用户时,我会有如下异常:ActiveRecord::RecordNotFound:Couldn'tfindUserwithID=10我可以得到nil而不是引发异常吗,所以当我做类似的事情时:unlessuser=Challenge.find(10)puts"someerrormsg"end我只想在没有记录的时候得到nil,我不想使用begin/rescue谢谢 最佳答案 是的,只是做:Challenge.find_by_id(10)