请原谅我的无知,但我不仅是Ruby的新手,而且是一般编程的新手。我正在研究rubyonrails.org上有关边缘指南的示例。并收到以下错误,尽管检查了自应用程序上次运行以来我输入的每一段代码,但我无法修复它。NoMethodErrorinPostsController#createundefinedmethod`permit'for{"title"=>"","text"=>""}:ActiveSupport::HashWithIndifferentAccess这就是我的posts_controller.rb的样子:classPostsController我做错了什么?提前感谢您的
我想在用户提交电子邮件后redirect_toslider_path。当前,仅显示成功消息而没有重定向。这是代码:classSplash::SubscribersController{:success=>success,:message=>message}.to_json}endendend 最佳答案 只需替换这部分代码:ifsuccessflash[:success]=messageredirect_toslider_pathelseflash[:error]=messageendredirect_toroot_path用这个:i
我有一个有趣的情况。我正在测试以下简单的创建操作:#willonlybeaccessedviaAjaxdefcreateclick=Click.new(params[:click])click.save#don'treallycarewhetheritssuccessorfailureend然后我有以下非常简单的Controller规范:require'spec_helper'describeClicksController,"creatingaclick"doit"shouldcreateaclickforevent"doxhr:post,:create,:click=>{:even
所以我正在尝试按照此处的教程进行操作:http://guides.rubyonrails.org/getting_started.html我对正在发生的事情有一些想法,但在这一点上,我变得越来越沮丧,并且没有准备好以一种有意义的方式来看待这个问题。这是我目前的Controller。这很简单,我想我知道发生了什么:articles_controller.rbclassArticlesController路线.rbRails.application.routes.drawdoget'welcome/index'Rails.application.routes.drawdoresource:
我希望能够执行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]:嗯,理
相关编码:http://pastebin.com/EnLJUJ8GclassTask我正在制作一个小型任务应用程序。每个任务都分配到一个房间。添加任务后,我想使用回调来检查同一房间中在我刚添加的任务之前和之后是否有任务(尽管我的代码现在只处理一种边缘情况)。所以我决定使用after_create(因为用户在编辑它时会手动检查它,因此不是after_save)所以我可以使用两个范围和一个类方法来查询当天、房间里的任务,以及按时间订购。然后我在数组中找到对象并开始使用if语句。我必须明确地保存对象。有用。但我这样做感觉很奇怪。我不太有经验(第一个应用程序),所以我不确定这是不受欢迎的还是惯
这个问题在这里已经有了答案: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
在我的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
我有一张报名表。当用户注册时,应用程序应该将数据保存在enrollments表和users表中。(我需要这种分离,因为用户的个人资料可以更改,但他为该特定注册输入的数据必须存档。因此,即使以后用户更改了他的姓氏,在注册表格中我也会有他的初始信息。)所以我正在考虑将数据保存在enrollments表中,然后进行after_create调用,就像这样...classEnrollment问题是,如果由于任何原因保存用户失败怎么办。如何回滚并销毁enrollments表中刚刚保存的数据? 最佳答案 从after_create返回false将
我正在使用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{|