Rails – 未定义的方法`model_name’for

在编辑function中,我正在获取将要编辑的对象。 不幸的是,我得到了这个奇怪的错误,我可以“理解它到目前为止的原因。 NoMethodError in Tasks#edit undefined method #Hash:0x007fe92d2afeb8 ‘用于#Hash:0x007fe92d2afeb8第1行的_form.html.erb tasks_controller: def edit uri = URI.parse(“http://localhost/tasks/public/api/tasks/”+params[:id]) response = Net::HTTP.get_response(uri) @task = JSON.parse(response.body)[‘task’] end _form.html.erb

对于Ruby on Rails Heroku应用程序,如何将相关用户信息(不是全部)从一个生产数据库复制到另一个生产数据库

我在Heroku上有两个应用程序。 一个是生产应用程序,另一个是临时应用程序。 我在登台服务器上有一个新数据库。 我需要复制相关的用户信息,这些信息包含在某些表中。 我知道pgbackups插件,但它复制整个数据库。 我不想复制整个数据库,因为它太大了,而且大多数数据都无关紧要。 我只想要一小部分,与用户帐户有关。 有没有办法将生产数据库中的相关行复制到登台数据库? 我可以编写Ruby on Rails查询来获取信息,但似乎无法将其保存到另一个数据库。 我需要采取哪些步骤来复制用户数据,还是有一些解决方法可以做同样的事情?

Rails 3路由具有多个可选参数

我正在尝试创建一个具有可选参数以及变化顺序的Rails路由。 这个问题描述了一个类似的问题: 具有多个,可选和漂亮参数的路由 我正在尝试创建其中包含地图filter的路线,例如参数但没有参数URL样式。 想法是让它们看起来像 /search/country/:country/ /search/country/:country/state/:state/ /search/country/:country/state/:state/loc/:lat/:long/ 但你也应该能够搜索 /search/state/:state/ /search/state/:state/country/:country/ /search/loc/:lat/:long/ 我知道我可以使用路由通配来编写复杂的正则表达式语句 – 但是我想知道是否有一种方法可以使用未指定顺序的多个可选路由参数,类似于 /search/( (/country/:country)(/state/:state)(/loc/:lat/:long) ) 谢谢!

Rails FactoryGirl Factory具有可选的模型关联

按照rails 4模型关联左连接validationid我不得不更新我的工厂。 我正在尝试创建一个可以创建优惠券的条件,但是只有在执行时才分配作业ID,即: FactoryGirl.define do factory :coupon do code { rand(25**25) } percent_discount { rand(100**1) } start_at { Time.now } end_at { 30.day.from_now } trait :executed do |c| job c.executed_at { Time.now } end end end

在form_for中了解Rails日期

我正在尝试从用户那里获取日期,并将其作为纯文本发送到电子邮件中,格式如下:“2015年7月30日”。 为了做到这一点,如果我得到的输出是一个字符串,我可以这样做: Date.parse(“2015-07-30”).strftime(“%m/%d/%Y”) 问题是,我得到了一个FixNum。 问题很多: 如果我尝试转换为字符串以使用Date.parse解析它,它将变为“2001”。 如果我应用我刚写的代码, Date.parse ……它会抛出’无效日期’。 例如: (2016-02-13).to_s #=> “2001” (2016-02-13).to_date #=> NoMethodError: undefined method `to_date’ for 2001:Fixnum Date.parse(“2001”).strftime(“%m/%d/%Y”) #=> invalid date 因此,如果我可以将2015-07-30转换为”2015-07-30″ ,它会起作用: Date.parse(“2015-07-30”).strftime(“%m/%d/%Y”) #=> “07/30/2015” 然后我尝试使用date_select而不是date_field ,但现在消息到达时这些字段为空。 有什么建议? 这是我的表格: = form_for @contact do |f| = f.text_field :product_name = f.date_field :purchase_date = f.submit 这是我的代码: 我的控制器: class ContactsController < ApplicationController before_action :send_email, […]

如何获取用户浏览统计信息?

此问题与获取Google代码管理器收集的用户数据相关联,以使其更具体。 我有一个Ruby-on-Rails Web应用程序。 假设有些用户来到我的网站,浏览几页,然后通过反馈表向我发送反馈。 有没有办法收集这样的信息,如: 哪些关键字将用户引导到我的网站 他在我的网站上访问了哪些页面以及访问了多长时间 任何其他冲浪统计数据,这可能很有趣 为了与此反馈一起发送? 我有一个Google跟踪代码管理器收集此类信息,但它会自动发送到我的Google帐户,但我无法找到任何API来获取反馈信息。

Rails Asset Pipeline JS压缩插入“非法字符”

我刚刚在我的javascript中询问了一个关于“非法字符” 的问题 。 那里的答案让我发现在插入各种非法字符的Rails资产管道中压缩javascript存在问题。 我在post中收到的错误是: SyntaxError: Invalid character ‘\u0008’ 我发现不使用压缩导致它完全消失 ……但我想要压缩! 使用Rails默认的uglifer gem发现了该错误。 我想也许这是特定压缩gem的bug,所以我尝试使用Rails文档中指示的其他压缩器。 我有非常相似但不同的错误: Uglifier: SyntaxError: Invalid character ‘\u0008’ Closure: SyntaxError: Invalid character ‘\u0190’ YUI: SyntaxError: Invalid character ‘\u0025’ 我试着查看这些最小化的代码,但因为“无效字符”每次都不同,所以它让我相信其他问题。 这是一个压缩的JS文件示例。 任何人都能指出我在正确的方向吗?

在nested_form中的Rails nested_form

我有以下模型和关系: Rate fields t.string :type t.string :name class Rate < ActiveRecord::Base has_many :category_rate_requests end CategoryRateRequests fields t.date :date_from t.date :date_to class CategoryRateRequests < ActiveRecord::Base belongs_to :rate has_many :category_rates end CategoryRate t.integer :room_category_id t.integer :new_rate_id t.integer :category_rate_request_id t.integer :amount class CategoryRate < ActiveRecord::Base belongs_to :rate belongs_to :category_rate_request belongs_to :room_category end 我试图在nested_form中有一个nested_form = nested_form_for @rate do |f| […]

Rails 4,使用Model.where(related_model_id:1)检索了许多记录,如何在单个视图中显示每个记录?

好的,所以我正在进行测验,作为我的应用程序的一部分。 我有三个嵌套模型测验,问题,答案。 class Quiz lambda { |a| a[:content].blank? }, allow_destroy: true end class Question lambda { |a| a[:content].blank? }, allow_destroy: true end class Answer < ActiveRecord::Base belongs_to :question end 在控制器动作测验中#show我可以检索特定测验的所有问题 def show @quiz = Quiz.find(params[:id]) @question = Question.where(quiz_id: @quiz) end 我可以在quizzes / show.html.haml视图中显示每个问题 – @question.each do |question| = question.content 问题是上面的代码会在同一页面上显示所有问题。 我真正想要的是在每个问题中单独显示每个问题,每页一个问题。 因此,一旦用户回答了一个问题,他们就会点击一个按钮,它将使用下一个问题重新呈现视图。 无论如何,我有一段时间试图弄清楚如何做到这一点。 先感谢您! 哦,如果您需要查看我的代码,请告诉我!

在辅助规范中存储控制器辅助方法

在我的application_controller.rb : helper_method :current_brand def current_brand @brand ||= Brand.find_by_organization_id(current_user.organization_id) end 在我的帮助者something_helper.rb def brands return [] unless can? :read, Brand # current_brand is called end 我正在为something_helper编写一个规范,并希望将stub_brand存根 describe SomethingHelper do before :each do helper.stub!(:can?).and_return(true) # This stub works end it “does the extraordinary” do brand = Factory.create(:brand) helper.stub!(:current_brand).and_return(brand) # This stub doesnt work helper.brands.should_not be_empty end end […]