草庐IT

create-ignore

全部标签

ruby - 使用 'first_or_create' 时应该如何合并哈希

我有这个哈希,它是动态构建的:additional_values={"grouping_id"=>1}我想在通过first_or_create创建后将其与此记录对象合并:result=model.where(name:'test').first_or_createdo|record|#I'mtryingtomergeanyrecordattributesthatexistinmyhash:record.attributes.merge(additional_values)#Thisworks,butitsucks:#record.grouping_id=data['grouping_i

ruby-on-rails - rails : rake db:create:all (could not connect to server)

关注截屏视频http://railscasts.com/episodes/342-migrating-to-postgresql?autoplay=true直到"rakedb:create:all"的步骤并得到错误:couldnotconnecttoserver:NosuchfileordirectoryIstheserverrunninglocallyandacceptingconnectionsonUnixdomainsocket"/tmp/.s.PGSQL.5432"?引用Rails:rakedb:create:allfailstoconnecttoPostgreSQLdatab

ruby-on-rails - rails : Better way to create variables for views

我对Ruby和Rails完全陌生。目前,我正在使用辅助方法。我如何在我的模型“用户”中编写与此相同的代码,以便从Controller和View访问所有这些变量?在helper中以这种方式编写代码是100%有效的:moduleHomeHelperdefinit(user_id)@friends=Array.new@followers=Array.new@user=User.find_by_id(user_id)#GetUser@friends=@user.users#Getallhisfriends#@statuses=Array.new#@friends.eachdo|friend|#

ruby-on-rails - Rails find_or_create_by 带/不带哪里

假设我有一个名为Task的模型。我想find_or_create_by一些任务。t=Task.where(done:false).find_or_create_by(title:'epic')此模型有效,但创建一个title等于epic且done等于false的任务。我希望通过done的查询搜索等于false,但我不希望新记录done等于false。我该怎么做? 最佳答案 您可以使用名为:find_or_initialize_by的东西.它只初始化记录,但不创建记录。这样,您可以稍后覆盖属性:task=Task.where(done

ruby - 无法运行用 ocra 制作的 exes -- fatal error : Failed to create process

我正在尝试使用OCRA在Windows计算机上将Ruby程序打包为.exe。当我试图用它为我的程序创建可执行文件时,它在运行时抛出了一个奇怪的错误。我用一个简单的HelloWorld程序试了一下,错误依然存在。我将以下内容放入helloworld.rb:puts"Hello,World!"然后,我通过OCRA运行文件:H:\ocratest>ocra--no-dep-runhelloworld.rb===Detectedgemdid_you_mean-1.1.0(loaded,files)===14files,32780bytes===Detectedgemocra-1.3.8(loa

ruby-on-rails - Rails 表单发布到/new 而不是/create?

我有一个使用Rails3.1.x应用程序的简单表单View:prohibitedthismodelfrombeingsaved:Amount:当在此处点击提交时,它会发布到/mymodels/new。我如何强制它为mymodels_controller.rb执行正确的创建操作? 最佳答案 选项1:遵循约定并向form_for助手提供一个新的、未保存的记录。您可能已经在@mymodel上拥有这样的对象,设置在您的Controller的new操作上。所以下面的代码片段应该能很好地工作:如果它不起作用,您可以像这样在您的操作上设置@mym

ruby - 来自 created_at 的不同天数的 ActiveRecord 计数?

如果需要查询字段(理想情况下,单独使用ActiveRecord),是否可以根据字段值检索不同记录的计数?例如,以下根据“created_at”字段返回唯一记录的计数:Record.count('created_at',:distinct=>true)但是,是否有可能以类似的方式基于“created_at”字段计算唯一天数?一个简单的ActiveRecord示例来解释我的意图:Record.count('created_at'.day,:distinct=>true)(我知道字符串'created_at'不是'Time',但这是我想询问ActiveRecord的那种查询。)

ruby - 标准 ruby​​ 记录器是否有 "ignore"输入?

我正在尝试编写一个没有信息到stdout的规范测试——甚至没有STDERR。是否可以很容易地用一个IOObject实例化一个Logger,该IOObject在所有情况下都会丢弃传递给它的数据,而无需对记录器进行猴子修补?如果是这样,这是常见做法还是我应该只使用STDERR?问候, 最佳答案 您可以为空设备创建一个记录器:logger=Logger.new(IO::NULL)或设置高日志记录严重性阈值:logger.level=Logger::ERROR 关于ruby-标准ruby​​记录

ruby-on-rails - ActiveRecord : If exists then delete else create 的最佳方式

我有这条路线可以为某个提示创建收藏夹:deffavorite@tip=Tip.find(params[:id])Favorite.create(user:current_user,tip:@tip)redirect_to:action=>"show",:id=>@tip.idend我希望它更像一个开关。所以:如果用户对某个提示的收藏已经存在,那么它应该删除这个收藏。如果它是用户和提示的新组合,它应该使用这些值创建一个新的收藏夹。最好和最漂亮的方法是什么? 最佳答案 试试这个,我认为这是最简洁的解决方案:deffavorite#Sin

ruby-on-rails - 使用 rake db :create 创建 Rails DB 时出错

我正在尝试使用rails'gettingstartedguide运行我的第一个“helloworld”rails示例在我的OSX10.6.3盒子上。当我执行第一个rakedb:create命令时(我使用的是mysql),我得到:simon@/Users/simon/source/rails/blog/config:rakedb:create(in/Users/simon/source/rails/blog)Couldn'tcreatedatabasefor{"reconnect"=>false,"encoding"=>"utf8","username"=>"root","adapter