小编K M*_*lam的帖子

ruby中Array#uniq方法的时间复杂度是多少?

任何人都可以告诉我ruby内部使用哪种算法来使用Array#uniq方法从ruby数组中删除重复项?

ruby

7
推荐指数
1
解决办法
3055
查看次数

如何使用RestClient在post请求中发送数据

我正在尝试使用RestClient Ruby gem模仿curl请求,到目前为止,我在尝试发送有效负载方面遇到了很多麻烦.我的卷曲请求看起来像这样

curl URL -X POST -u API_KEY -d '{"param_1": "1"}'

我一直试图用RestClient复制这个,使用类似的东西:

RestClient::Request.execute(method: :post, url: URL, user: API_KEY, payload: {"param_1" => "1"})

唉,这样做时我一直收到400 - Bad Requests错误.我是以错误的方式发送数据吗?我应该使用除有效载荷之外的东西吗?

ruby curl ruby-on-rails rest-client ruby-on-rails-4

7
推荐指数
1
解决办法
5073
查看次数

Ruby:如何检测/智能猜测CSV文件中使用的分隔符?

我需要能够在我的Ruby项目中找出csv文件(逗号,空格或分号)中使用的分隔符.我知道,csv模块中的Python中有一个Sniffer类可用于猜测给定文件的分隔符.Ruby中有类似的东西吗?非常感谢任何形式的帮助或想法.

ruby csv delimiter delimited-text

6
推荐指数
2
解决办法
3320
查看次数

Rails actionmailer,在特定时间发送邮件

我有一个带有actionmailer的rails应用程序,可以向客户发送提醒.所以我希望在特定的日期时间发送电子邮件.我怎么能这样做,或者来自控制器的任何动作?

ruby ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2 ruby-on-rails-4

6
推荐指数
1
解决办法
3654
查看次数

法拉第:: ConnectionFailed,连接被拒绝 - 连接(2)为"localhost"端口9200错误Ruby on Rails

我正在尝试使用Ruby on Rails在我的应用程序中添加Searchkick gem但是当我在搜索框中键入一个单词时,我的应用程序中出现此错误.我已根据需要安装了elasticsearch和最新版本的java,但错误仍然相同.这是我得到的错误:

PostsController #search中的Faraday :: ConnectionFailed

连接被拒绝 - 连接(2)为"localhost"端口9200

这是我的代码:

终端显示已安装弹性搜索:

终奌站

Warning: elasticsearch-1.7.3 already installed
Run Code Online (Sandbox Code Playgroud)

posts_controller.rb

class PostsController < ApplicationController
  before_action :set_post, only: [:show, :edit, :update, :destroy]


def search
  if params[:search].present?
    @posts = Post.search(params[:search])
  else
    @posts = Post.all
  end
end
  # GET /posts
  # GET /posts.json
  def index
    @posts = Post.all
  end

  # GET /posts/1
  # GET /posts/1.json
  def show
  end

  # GET /posts/new
  def new
    @post = Post.new
  end

  # GET /posts/1/edit
  def edit
  end

  # …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails ruby-on-rails-3 elasticsearch ruby-on-rails-4

6
推荐指数
1
解决办法
1万
查看次数

如何从命令行停止rails服务器?

我有一个奇怪的事情,我关闭了我的终端,但服务器继续运行.当我再次尝试运行服务器时,我收到一条消息,表明服务器仍在运行.我怎么能通过命令行停止服务器?

ruby command-line ruby-on-rails ruby-on-rails-4 server

6
推荐指数
1
解决办法
5017
查看次数

30.seconds.ago是如何实现的?

我在这里发现了这个问题.

并且真的很想知道30.seconds.ago在Rails中实现类似内容的技术解释.

方法链?Numeric使用方法:http: //api.rubyonrails.org/classes/Numeric.html#method-i-seconds.

还有什么?

ruby ruby-on-rails ruby-on-rails-3 ruby-on-rails-4 ruby-on-rails-5

6
推荐指数
1
解决办法
849
查看次数

在JavaScript之前和之后使用Nokogiri和Ruby进行刮擦会更改值

我有一个程序可以从https://web.apps.markit.com/WMXAXLP?YYY2220_zJkhPN/sWPxwhzYw8K4DcqW07HfIQykbYMaXf8fTzWT6WKnuivTcM0W584u1QRwj中删除价值

我目前的代码是:

doc = Nokogiri::HTML(open(source_url))

puts doc.css('span.indexDate').text
date = doc.css('span.indexDate').text
date = Date.parse(date)
puts date
values = doc.css('table#CdsIndexTable td.col2 span')
puts values
Run Code Online (Sandbox Code Playgroud)

这正确地从"CDS索引"表中删除第二列的日期和值,这很好.现在,我想从"债券指数"表中搜索我遇到问题的类似值.

我可以看到JavaScript函数在不加载页面的情况下更改它而不更改页面的URL.这两个表之间的区别在于它们的ID是不同的,这正是应该的.但是,不幸的是,当我尝试:

values = doc.css('table#BondIndexTable')
puts values
Run Code Online (Sandbox Code Playgroud)

我从Bond Indexes表中得不到任何结果.但是如果我使用的话,我从CDS索引表中获取值:

values = doc.css('table#CdsIndexTable')
puts values
Run Code Online (Sandbox Code Playgroud)

如何从两个表中获取值?

javascript ruby nokogiri web-scraping

5
推荐指数
2
解决办法
8564
查看次数

rspec给出的错误`Then`在示例中不可用(例如`it`块)

我正在使用rspec-given并继续收到此错误.

故障/错误:然后{ Then从一个示例(例如,内不可用it块)或者从在一个例子(例如范围运行构建体before,let等).它仅适用于示例组(例如a describecontext块).

describe SchoolService do
  Given(:school) { create(:school_with_applications) }
  Given(:service) { School.new(@school) }

  describe 'create_default_programs_and_year_grades!' do
    it 'checks program size' do 
      When { service.create_default_programs_and_year_grades! }
      Then { expect(school.programs.size).to eq 3 }
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

ruby rspec ruby-on-rails rspec-rails ruby-on-rails-4

5
推荐指数
1
解决办法
2982
查看次数

Rails导入CSV错误:UTF-8中的字节序列无效

invalid byte sequence in UTF-8尝试在我的Rails应用程序中导入CSV文件时出现错误.一切都运行良好,直到我添加了一个gsub方法来比较其中一个CSV列到我的数据库中的字段.

当我导入CSV文件时,我想检查每行的地址是否包含在特定客户端的不同地址的数组中.我有一个客户端模型,alt_addresses其中包含一些属性,其中包含客户端地址的几种不同格式.

然后我有一个引用模型(如果你熟悉本地搜索引擎优化你会知道这个术语).引文模型没有地址字段,但它有一个nap_correct?字段(NAP代表"名称","地址","电话号码").如果CSV行的名称,地址和电话号码与我在该客户端的数据库中的名称,地址和电话号码相同,则nap_correct?该引用的字段将设置为"正确".

以下是import我的引文模型中的方法:

def self.import(file, client_id)
  @client = Client.find(client_id)
  CSV.foreach(file.path, headers: true) do |row|
    @row = row.to_hash
    @citation = Citation.new
    if @row["Address"]
      if @client.alt_addresses.include?(@row["Address"].to_s.downcase.gsub(/\W+/, '')) && self.phone == @row["Phone Number"].gsub(/[^0-9]/, '')
        @citation.nap_correct = true
      end
    end
    @citation.name = @row["Domain"]
    @citation.listing_url = @row["Citation Link"]
    @citation.save
  end
end
Run Code Online (Sandbox Code Playgroud)

然后,这是alt_addresses我的客户端模型中的属性:

def alt_addresses
  address = self.address.downcase.gsub(/\W+/, '')
  address_with_zip = (self.address + self.zip_code).downcase.gsub(/\W+/, '')
  return [address, address_with_zip] …
Run Code Online (Sandbox Code Playgroud)

ruby csv ruby-on-rails utf-8 ruby-on-rails-4

5
推荐指数
1
解决办法
7743
查看次数