草庐IT

check_in_id

全部标签

ruby-on-rails - Rails 4 + Rspec + 设计 : undefined method 'env' in controller specs for sign_in a user

在我的spec_helper.rb中我添加了config.includeDevise::TestHelpers,:type=>:controller在:allhook之前的Controller规范中,我正在尝试使用此代码登录用户@request.env["devise.mapping"]=Devise.mappings[:user]user=FactoryGirl.create(:confirmed_user)sign_inuser并得到NoMethodError:undefinedmethod`env'fornil:NilClass。有什么想法吗? 最佳答

ruby-on-rails - 无法写入未知属性 `scrapbook_entry_id'

正在尝试将数据添加到scrapbook_entries的连接表中,其中has_one:scrapbook和has_one:recipe。:recipe和:scrapbook已经存在。我正在尝试添加它们以将它们与scrapbook_entries表链接起来。form_for添加到scrapbook_entries表:scrapbook_entries_path(params[:id]))do|f|%>@recipe.id%>剪贴簿_条目_Controller:defcreate@recipe=Recipe.find(params[:scrapbook_entry][:recipe_id]

ruby-on-rails - 如何使用 strong_parameters 允许除 user_id 之外的所有属性?

我想使用类似的东西:defanswer_paramsparams.require(:answer).permit!.without(:user_id)end 最佳答案 这行得通吗?params.require(:answer).permit!.except(:user_id) 关于ruby-on-rails-如何使用strong_parameters允许除user_id之外的所有属性?,我们在StackOverflow上找到一个类似的问题: https://s

ruby - 为什么 Ruby 倾向于按降序分配对象 ID?

我注意到对象的ID分配方式有悖常理。一个对象创建得越早,它的对象ID就越大。我原以为它们会按升序分配,而不是相反。例如:obj1=Object.newobj2=Object.newobj3=Object.newpobj1.object_id#=>4806560pobj2.object_id#=>4806540pobj3.object_id#=>4806520为什么它们以这样的方式分配,为什么在Ruby解释器运行的代码中步长为20,而不是1,但在Ruby的irb运行的代码中,对象ID之间的差异要大得多? 最佳答案 经过许多细节,rub

ruby-on-rails - 为什么我得到 "including Capybara::DSL in the global scope is not recommended!"

每次我运行规范,即使规范通过,例如$rspecspec/integration/view_homepage_spec.rbincludingCapybara::DSLintheglobalscopeisnotrecommended!.Finishedin0.6174seconds1example,0failuresRandomizedwithseed14130$我的Gemfile有:group:test,:developmentdogem'rspec-rails'gem'capybara'end我的spec_helper有:ENV["RAILS_ENV"]||='test'requir

ruby-on-rails - Mongoid:通过id数组查找

我已经通过MapReduce获取了一些ID。我已经按照一些标准对这些ID进行了排序,现在我需要按照这个特定的顺序获取这些对象:MyModel.find(ids)对吧?但它返回的对象不在存储id的顺序中。看起来这和MyModel.where(:_id.in=>ids)它不会以与存储ID相同的顺序返回获取的对象。现在我可以做到了ids.map{|id|MyModel.find(id)}这将完成这项工作,但它会多次敲击数据库。 最佳答案 正在研究类似的问题并找到了更简洁的解决方案:objs=MyModel.find(ids).sort_b

ruby-on-rails - rails : each in random order

这是我的代码:我想随机排列答案对象。考虑到可能的答案数量少于10个,最有效的方法是什么? 最佳答案 您可以使用shuffle像这样的方法:question.answers.shuffle.eachdo|answer| 关于ruby-on-rails-rails:eachinrandomorder,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/13123197/

ruby-on-rails - 为什么我会收到此 Passenger 错误 Could not find rake-0.9.2.2 in any of the sources?

我刚刚创建了一个新的空Rails应用程序,它几乎是空的。我创建它只是为了找出问题所在,但我收到了以下错误。我正在使用Rails3.1.0和Ruby1.9.2Errormessage:Couldnotfindrake-0.9.2.2inanyofthesources(Bundler::GemNotFound)Exceptionclass:PhusionPassenger::UnknownError所以我将rake-0.9.2.2添加到Gemfile并运行bundle,但我仍然收到相同的错误消息。我不知道问题出在哪里,我什至尝试打开Rails日志文件,但里面什么也没有。我尝试了很多次以不同

ruby-on-rails - friendly_id slug 在更新时没有改变

我正在使用friendly_id5.0.0.rc1,还有active_admin。除了在active_admin中更新记录的slug属性/列没有做任何事情(它保持不变)之外,一切似乎都按预期完美运行我在使用控制台时发现了相同的行为:p=Post.firstp.slug#=>'test'p.slug='another-test'p.save#=>truep.slug#=>'test我的配置:FriendlyId.defaultsdo|config|config.use:reservedconfig.reserved_words=%w(adminneweditindexsessionuse

ruby-on-rails - 使用 ActiveRecord find_in_batches 方法删除大数据

好的,所以我知道在处理非常大的数据时,我们可以使用find_in_batches,据我所知,它完成了Model.all.each的工作以一种非常快速的方式,效率更高现在,我有一个非常大的数据要删除,我正在考虑使用相同的find_in_batches来批量删除它们。下面是我所拥有的(来自rake任务database.rake):old_messages=TextMessage.where("created_at但是,当我运行它时,出现以下错误:ArgumentError:wrongnumberofarguments(0for1..3)/Users/Sunday/.rvm/gems/rub