Tag: ruby on rails 5

Ruby超级不敏感的Regex,用于将学校名称与重音和其他变音符号相匹配

在其他编程语言中已经提出了这个问题,但是如何在Ruby上执行重音不敏感的正则表达式呢? 我目前的代码是这样的 scope :by_registered_name, ->(regex){ where(:name => /#{Regexp.escape(regex)}/i) } 我想也许我可以用点替换非字母数字+空格字符,并删除escape ,但是没有更好的方法吗? 如果我这样做,恐怕我能抓到奇怪的东西…… 我现在正在瞄准法语,但是如果我还可以将其修复为其他很酷的语言。 我正在使用Ruby 2.3,如果这可以帮助。 我意识到我的要求实际上有点强,我还需要捕捉像破折号等等。我基本上是导入一个学校数据库( URL在这里 ,标签是 ),我希望人们能够找到他们的学校输入名字。 搜索查询和搜索请求都可能包含重音,我相信最简单的方法是使“两者”不敏感。 “Télécom”应与“电信”相匹配 “établissement”应与“etablissement”相匹配 “Institutsenérieurnationalde l’artisanat – Chambredemétiersetde l’Artisanat en Moselle”应与“artisanat chambredemétiers”相匹配 “Ecolehôtelièred’Avignon(CCI du Vaucluse)”应与Ecole hoteliere d’avignon相匹配“(对于括号,可以跳过它) “Ecolefrançaised’hôtesses”应与“ecole francaise d’hot”相匹配 我在那个数据库中找到了疯狂的东西,我会考虑对这个输入进行消毒 “Académieinternationalede management – Hotel&Tourism Management Academy”应该与“Hotel Tourism”相匹配(请注意&实际上是用XML编写的)

Rails 5控制器中的undefined方法respond_to

我正在将一个应用程序从rails 3.something升级到rails 5.出于某种原因,我在任何时候在任何控制器中使用该方法时都会得到未经证实的方法respond_to。 这是以前工作,我希望有人在这里可以提供帮助。 class StatusController < ApplicationController #this throws an error 'undefined method respond_to respond_to :json, :html end

预编译Rails 5以包含所有资产

我正在尝试预编译我的所有资产以进行生产。 当我运行RAILS_ENV=production bundle exec rake assets:precompile并非所有资产都是预编译的。 我试图使用别人在其他类似问题中建议的方法,但它们对我没用。 对于初学者来说,这是我的assets.rb看起来像: Rails.application.config.assets.version = ‘1.0’ Rails.application.config.assets.paths << Rails.root.join('node_modules') Rails.application.config.assets.precompile += %w(creative/manifest.js creative/manifest.css images/* bootstrap/* fonts/* magnific-popup/* morphext/* owlcarousel2/* rs-plugin-5/* stylesheets/* javascripts/*) 正如您可以看到我预编译的位置,我已尝试添加示例directory/*以包含所有内容。 以下是我试图包含的文件及其中的所有内容(这些文件位于Assets目录中): bootstrap fonts javascripts morphext rs-plugin-5 config images magnific-popup owlcarousel2 stylesheets 这是在我的公共目录中进行预编译时运行预编译时看一下公共图像,你可以看到许多目录不在那里我甚至打开了每个文件夹,看看它们是否在另一个文件夹中并没有什么是存在的: 最后一部分是当我运行rails s -e production并导航到Localhost:3000我一直收到500错误,没有显示任何内容。 在chrome和终端的控制台中没有错误,所以我无法看到我的页面在本地生产的样子。 任何帮助将不胜感激。 更新 这是我的production.log看起来它没有得到必要的资产: I, [2017-09-12T18:43:54.606853 #7393] INFO — : [b2f4fb53-c1ea-4d59-8045-44167c60416c] […]

如何解析Excel文件,该文件将为我提供与视觉上完全相同的数据?

我在Rails 5(Ruby 2.4)上。 我想阅读.xls文档,我想将数据转换为CSV格式,就像它出现在Excel文件中一样。 有人建议我使用Roo,所以我有 book = Roo::Spreadsheet.open(file_location) sheet = book.sheet(0) text = sheet.to_csv arr_of_arrs = CSV.parse(text) 但是返回的内容与我在电子表格中看到的不同。 对于isntance,电子表格中的单元格具有 16:45.81 当我从上面得到CSV数据时,返回的是 “0.011641319444444444” 如何解析Excel文档并获得我所看到的内容? 我不在乎我是否使用Roo来解析,只要我能获得CSV数据,这是我所看到的,而不是一些奇怪的内部表示。 作为参考,当我运行“file name_of_file.xls”时,我正在解析的文件类型为… Composite Document File V2 Document, Little Endian, Os: Windows, Version 5.1, Code page: 1252, Author: Dwight Schroot, Last Saved By: Dwight Schroot, Name of Creating Application: Microsoft Excel, Create […]

Rails 5 API POST创建params为空

谢谢你看看这个问题。 我正在Rails 5中构建一个API,并且遇到了POST创建请求的问题。 基本上,当我的API获取它们时,我的参数是空的,不知道为什么。 使用Postman发送此JSON对象: { “battle”: { “winner_score”: 300, “loser_score”: 3, “winner_id”: 2, “loser_id”: 1 } } 这是相关的控制器: class Api::V1::BattlesController < ApplicationController protect_from_forgery with: :null_session, if: Proc.new { |c| c.request.format.include? 'application/json' } wrap_parameters format: [:json] # POST /battles def create @battle = Battle.new(battle_params) if @battle.save render json: @battle, status: :created, location: @battle else render […]

Rails 5:如何在弹性搜索中导入数据并执行条件搜索?

我有一个名为Product的模型。 我提供了一个全文搜索来搜索产品并使用AngularJS在客户端生成预先输入。 搜索查询是正常的查询,如: select * from products where name like = %abc% and company_id = 123; 但是随着我在表格中的记录增长,使用上述方法的搜索时间增加了,所以我决定实现弹性搜索。 我正在使用两颗gem’elasticsearch-model’and gem ‘elasticsearch-rails’ 。 如何索引产品型号 。 我尝试使用这个Product._elasticsearch_.create_index! 在rails控制台中的命令,它给出了以下错误: 2.4.0 :006 > Product._elasticsearch_.create_index! ArgumentError: products does not exist to be imported into. Use create_index! or the :force option to create it. 以下是我的实现: 产品型号 require ‘elasticsearch/model’ class Product < ApplicationRecord […]

在轨道上的ruby中渲染带有类别的不同显示页面

我需要为我的博客post呈现不同的显示页面。 我有3个不同的类别:主题,片段,项目。 每篇博文都必须与这三个类别相关。 如果有人点击post(假设相关类别是片段),它会显示在不同的节目……等等……对于其他类别也是如此。 如何使用条件语句。

未初始化的常量ApplicationRecord错误

我正在关注RailsTutorial,并且已经创建了具有适当的attrs和validation的Users模型。 我遇到了这个错误,无法看到问题出在哪里。 使用Rails5配置项目,因此inheritanceApplicationRecord的模型应该是正确的: User.rb: class User < ApplicationRecord before_save { self.email = email.downcase } validates :name, presence: true, length: { maximum: 50 } VALID_EMAIL_REGEX = /\A([\w+\-].?)+@[az\d\-]+(\.[az]+)*\.[az]+\z/i validates :email, presence: true, length: { maximum: 255 }, format: { with: VALID_EMAIL_REGEX }, uniqueness: { case_sensitive: false } has_secure_password validates :password, length: { minimum: 6 } 结束 的Gemfile: […]

Rails 5.1:销毁“has_many:through”与限制关联的记录

我有经典的has_many: through关系: class UserGroup < ApplicationRecord has_many :user_groups_users has_many :users, through: :user_groups_users end class UserGroupsUser < ApplicationRecord belongs_to :user_group belongs_to :user end class User < ApplicationRecord has_many :user_groups_users has_many :user_groups, through: :user_groups_users end 为了销毁UserGroup记录,我需要销毁UserGroup相应记录,这两个记录都是gem的一部分。 否则我会收到错误,即有用户绑定到UserGroups,我无法销毁特定​​的UserGroup 。 在我的控制器中,我有这个: def destroy @user_group = UserGroup.find(params[:id]) UserGroupsUser.where(user_group_id: @user_group).destroy_all respond_to do |format| if @user_group.destroy format.js { flash.now[:notice] = “User group […]

Rails 5和Ruby 2.3.3无法加载libmysql.dll

在为使用mysql数据库创建的应用程序启动服务器时,在控制台中记录下面的错误消息。 Failed to load libmysql.dll from C:\RailsInstaller\Ruby2.3.0\lib\ruby\gems\2.3.0\gems\mysql2-0.4.7-x86-mingw32\vendor\libmysql.dll 环境细节: Window 7 64 bit Rails 5.0.4 ruby 2.3.3p222 (2016-11-21 revision 56859) [i386-mingw32] mysqld Ver 5.7.18 for Win64 on x86_64 (MySQL Community Server (GPL)) 来自mysql2 ruby​​ gem的安装后消息在控制台上收到以下消息。 You’ve installed the binary version of mysql2. It was built using MySQL Connector/C version 6.1.10. It’s recommended to use the exact […]