Tag: 的Ruby on 轨道

Searchkick高级搜索正文子句使where子句无效

如果我使用searchkick进行高级搜索,请搜索如下弹性搜索: products = Activity.search body: {query: {bool: {must: [{ range: { min_age: {lte: 5} } }, { range: { max_age: {gte: 3} } } ] } } }, where: { category: “Programs”, start_time: ‘2015-07-22’ } …没有应用where子句。 这是预期的吗? 我必须使用body来实现我的所有查询吗? 有没有办法在searchkick中解决这个问题? 慢日志输出: [2015-07-29 21:03:53,369][INFO ][index.search.slowlog.query] [ES Dev] [activities_development_20150729165655530][2] took[21.1ms], took_millis[21], types[], stats[], search_type[QUERY_THEN_FETCH], total_shards[5], source[{“query”:{“bool”:{“must”:[{“range”:{“min_age”:{“lte”:5}}},{“range”:{“max_age”:{“gte”:3}}}]}}}], extra_source[],

config.gem(在environment.rb中)做什么?

我被告知这样做: config.gem ‘tzinfo’ 并不排除require ‘tzinfo’的必要性。 所有gem都是如此吗? 如果是,添加config.gem WHATEVER究竟做了什么?

ruby on rails教程ch 10可以获得邮件但链接错误也Bitbucket无法添加代码

我已经部分解决了这个问题:我可以获得确认和重置密码的链接。 问题是这些链接指向错误的应用程序,我需要手动调整应用程序的名称,以获得正确的重定向。 Heroku代表说那些错误的地址与代码有关…. 1.在Michael Harti ruby​​ on rails教程中我可以找到并更改代码吗? 我使用Cloud 9和Bitbucket作为存储库。 我已经在Bitbucket上创建了新应用程序克隆我现有的应用程序,从Bitbucket到Cloud,并希望将其推送到Bitbucket以进行一些更改。 但Bitbucket不允许我说有现有的应用程序。 克隆可能在这种情况下不起作用。 2.如何创建与Bitbucket中现有完全相同的应用程序,但在Cloud9上使用不同的名称并将其推送到具有不同名称的Bitbucket? 谢谢。 //config/environments/production.rb config.action_mailer.raise_delivery_errors = true config.action_mailer.delivery_method =:smtp host =’tatyanaa.herokuapp.com’ config.action_mailer.default_url_options = {host:host} ActionMailer :: Base.smtp_settings = { :address => ‘smtp.sendgrid.net’, :port => ‘587’, :authentication => :plain, :user_name => ENV[‘SENDGRID_USERNAME’], :password => ENV[‘SENDGRID_PASSWORD’], :domain => ‘heroku.com’, :enable_starttls_auto => true }

是否可以调用ActiveResource :: Base#load?

ActiveResource::Base#update_attributes方法调用ActiveResource::Base#load方法,该方法在activeresource-3.1.3/lib/active_resource/base.rb (第1255行)中定义。 我试图调用该load方法,而不是简单地使用update_attributes以便不立即保存该对象。 我用一个全新的rails应用程序测试了它。 我搭建了一个简单的对象: rails scaffold obj property1:string 然后在rails控制台中: irb(main):001:0> obj=Obj.new irb(main):002:0> obj.load(:property1=>”data”) TypeError: can’t convert Hash into String from …/activesupport-3.1.3/lib/active_support/dependencies.rb:234:in `load’ from …/activesupport-3.1.3/lib/active_support/dependencies.rb:234:in `load’ from …/activesupport-3.1.3/lib/active_support/dependencies.rb:223:in `load_dependency’ from …/activesupport-3.1.3/lib/active_support/dependencies.rb:640:in `new_constants_in’ from …/activesupport-3.1.3/lib/active_support/dependencies.rb:223:in `load_dependency’ from …/activesupport-3.1.3/lib/active_support/dependencies.rb:234:in `load’ from (irb):2 我看到activesupport-3.1.3/lib/active_support/dependencies.rb将其Loadable模块应用于Object ,为每个对象提供加载文件的load方法,但我无法弄清楚为什么它会覆盖ActiveResource::Base#load方法,而不是相反。 我正在使用Rails 3.1.3和朋友。 更新: 我想我已经回答了我自己的问题。 我一直在尝试在ActiveRecord对象上使用ActiveResource方法。 我知道我的Rails模型类是ActiveRecord::Base后代,但是当我试图找到ActiveRecord::Base#update_attributes的代码时,我找到了ActiveResource::Base#update_attributes的代码,它看起来像这样: def update_attributes(attributes) load(attributes, false) && save end […]

使用Rails 5枚举PGarrays

我正在尝试将Rails的枚举用于PostgreSQL的数组列。 class Post < ActiveRecord::Base enum tags: { a: 0, b: 1, c: 2 }, array: true end 但是上面的代码不起作用 有没有办法在数组列上使用枚举像arrtibute支持array: true ? 编辑 我想看到以下测试用例通过,但实际上它失败了。 # frozen_string_literal: true begin require “bundler/inline” rescue LoadError => e $stderr.puts “Bundler version 1.10 or later is required. Please update your Bundler” raise e end gemfile(true) do source “https://rubygems.org” git_source(:github) { […]

我不明白为什么这个platformatic邮件表单联系表单不起作用

车型/ lead.rb class Lead “My Contact Form”, :to => “callumshorty@hotmail.com”, :from => “admin@uk-franchise.co.uk” } end end 控制器/ lead_form_controller.rb class LeadFormController < ApplicationController def new @lead = Lead.new end def create @lead = Lead.new(params[:lead_form]) @lead.request = request @lead.deliver end end 的routes.rb resources :lead_form 视图/列表/ show.html.erb url_for(:controller => ‘lead_form’, :action => ‘new’) do |lead| %> 尝试访问显示页面时出错: First […]

如何使用ruby从json文件中获取第二级字段

我在ruby中使用json gem。 我试图打印二级字段,如[地址/城市/ born_in]。我的ruby代码是 json = File.read(‘person.json’) person = JSON.parse(json) pp person puts person[“address”][“city”][“born_in”] 我的json文件如下.., {“FirstName”:“John”,“lastName”:“Smith”,“age”:25,“address”:[{“streetAddress”:“21 2nd Street”,“state”:“NY”,“postalCode” :“10021”},{“city”:{“born_in”:“New York”,“living_in”:“Mumbai”}}}} 它显示以下错误.., parsingjson.rb:15:in `[]’: can’t convert String into Integer (TypeError) from parsingjson.rb:15:in `’

如何在rails视图中生成更改行字符(.html.erb文件)

我试过了: 只得到“Foo酒吧”。 Rails似乎忽略了转义字符。 如何从数据库输入并且“\ n”是表示更改行的记录的一部分,我如何生成更改行字符。 (我是否必须通过控制器中的带编写文本解析器?我认为这种方式太麻烦……)

Ruby第8章教程找不到部分文件

我正在使用Michael Hartl的Ruby on Rails教程 – 第8章 – Rails 3 在new.html.erb文件中我有: Sign up 我创建了文件app / views / shared / _error_messages.html.erb 当我运行测试时:bundle exec rspec spec / requests / users_spec.rb我收到以下错误消息: 失败: 用户注册失败不应该成为新用户 Failure/Error: visit signup_path ActionView::Template::Error: Missing partial shared/error_messages with {:handlers=>[:erb, :rjs, :builder, :rhtml, :rxml], :formats=>[:html], :locale=>[:en, :en]} in view paths “/Users/username/rails_projects/my_sample_app/app/views” 用户注册成功应该成为新用户 Failure/Error: visit signup_path ActionView::Template::Error: Missing […]

Rails加载除application.css.scss之外的所有样式表

我正在使用Rails书籍跟踪敏捷Web开发,并遇到了一个问题。 除application.css.scss外,assets文件夹中的所有样式表都正确加载 运行bundle exec rake assets:precompile将所有资产上的副本bundle exec rake assets:precompile到公共文件夹,这似乎有效,但我不想每次都这样做。 在application.html.erb中: Pragprog Books Online Store “all” %> <body class='’> Home Questions News Contact 在application.css.scss中: /* * This is a manifest file that’ll be compiled into application.css, which will * include all the files listed below. * * Any CSS and SCSS file within this directory, lib/assets/stylesheets, […]