jjzjj

ruby-on-rails - 不区分大小写的 find_or_create_by_whatever

我希望能够执行Artist.case_insensitive_find_or_create_by_name(artist_name)[1](并使其在sqlite和postgreSQL上都有效)实现此目标的最佳方法是什么?现在我只是直接向Artist类添加一个方法(有点难看,特别是如果我想在另一个类中使用此功能,但无论如何):defself.case_insensitive_find_or_create_by_name(name)first(:conditions=>['UPPER(name)=UPPER(?)',name])||create(:name=>name)end[1]:嗯,理

ruby-on-rails - rails 3 : Should I explicitly save an object in an after_create callback?

相关编码:http://pastebin.com/EnLJUJ8GclassTask我正在制作一个小型任务应用程序。每个任务都分配到一个房间。添加任务后,我想使用回调来检查同一房间中在我刚添加的任务之前和之后是否有任务(尽管我的代码现在只处理一种边缘情况)。所以我决定使用after_create(因为用户在编辑它时会手动检查它,因此不是after_save)所以我可以使用两个范围和一个类方法来查询当天、房间里的任务,以及按时间订购。然后我在数组中找到对象并开始使用if语句。我必须明确地保存对象。有用。但我这样做感觉很奇怪。我不太有经验(第一个应用程序),所以我不确定这是不受欢迎的还是惯

ruby-on-rails - 运行 rake db :seed multiple times without creating duplicate records?

这个问题在这里已经有了答案:appendingtorakedb:seedinrailsandrunningitwithoutduplicatingdata(9个回答)关闭9年前。我想更改种子文件中的一些代码,以便在我多次运行种子命令时它不会创建重复记录。有什么方法可以从我的种子文件中修改下面的代码,这样就可以了吗?除非我弄错了,否则find_or_create_by方法在这里似乎不起作用。data_file=Rails.root.join('db/data/data.csv')CSV.foreach(data_file)do|row|TownHealthRecord.create(ci

ruby-on-rails - Rails - 如何更改 created_at 时间?

在我的Controller中我有:@konkurrencer=Rating.new(params[:kon])@konkurrencer.save@konkurrencer.konkurrencer.rating_score+=params[:kon][:ratings].to_i@konkurrencer.konkurrencer.ratings+=1@konkurrencer.created_at=Time.now.strftime("%Y-%m-%d00:00:00")@konkurrencer.save当我创建一个新项目时,它的created_at列是:2012-02-2716

ruby-on-rails - rails 3 : rollback for after_create

我有一张报名表。当用户注册时,应用程序应该将数据保存在enrollments表和users表中。(我需要这种分离,因为用户的个人资料可以更改,但他为该特定注册输入的数据必须存档。因此,即使以后用户更改了他的姓氏,在注册表格中我也会有他的初始信息。)所以我正在考虑将数据保存在enrollments表中,然后进行after_create调用,就像这样...classEnrollment问题是,如果由于任何原因保存用户失败怎么办。如何回滚并销毁enrollments表中刚刚保存的数据? 最佳答案 从after_create返回false将

ruby-on-rails - rails : Using groupdate & chartkick to create a cumulative user graph

我正在使用groupdate和chartkick来尝试显示一张图表,显示我们的用户群随时间的增长(和下降)。使用以下它在柱形图中工作正常,但在折线图中变得困惑:sum=0User.group_by_day(:created_at).count.map{|x,y|{x=>(sum+=y)}}.reduce({},:merge)谁能指出我正确的方向?或者是否有更好的方法来实现这一点? 最佳答案 因为在做累加和之前需要先排序试试这个:sum=0User.group_by_day(:created_at).count.to_a.sort{|

ruby-on-rails - Errno::EACCES:权限被拒绝@dir_s_mkdir

我是Ruby的新手..正在按照TeamTreehouse上的说明在OSX(Yosemite)上安装Ruby开发环境。当我到达创建测试应用程序的步骤时。它最终失败了。权限被拒绝。:(不确定我做错了什么,我确实尝试运行geminstalldebuginspector和bundleexecspringbinstubball但它们都失败了。[]railsnewtestappcreatecreateREADME.rdoccreateRakefilecreateconfig.rucreate.gitignorecreateGemfilecreateappcreateapp/assets/javas

ruby-on-rails - 如何从此 instagram json 获取 created_time?

我得到了这个json和created_time值以integer格式显示时间,而不是及时格式,但我希望这个created_time格式正确。如何以正确的格式获取created_time?"filter"=>"Normal","created_time"=>"1421677966","link"=>"http://instagram.com/p/yCfw5sKorK/","likes"=>{"count"=>1,"data"=>[{"username"=>"nikhil.thombare","profile_picture"=>"https://instagramimages-a.aka

ruby-on-rails - first_or_create 通过电子邮件然后保存嵌套模型

我的两个模型User和Submission如下:classUser{:message=>"Pleaseenteravalidemailaddress"}validates:email,:uniqueness=>{:case_sensitive=>false}endclassSubmissiontruevalidates:text,:length=>{:minimum=>250}validates:word_count,:numericality=>{:only_integer=>true}end我有一个表格可以收集这两个模型所需的数据。用户Controller:defindex@use

ruby-on-rails - 迁移后删除 Rails 模型

这对我来说似乎很奇怪,创建模型、运行迁移、销毁它并再次创建相同的模型报告SQL异常:project|master⇒railsgmodelnamenameinvokeactive_recordcreatedb/migrate/20130417185814_create_names.rbcreateapp/models/name.rbproject|master⚡⇒rakedb:migrate==CreateNames:migrating====================================================--create_table(:names)->0