小编Sah*_*har的帖子

javascript用case不敏感替换all并在原始字符串中保持正确的大小写

我的问题是我想做这样的事情:

Javascript vaja => <b>Ja</b>vascript va<b>ja</b> 即我有一个查询字符串(ja),我想用更大的字符串(Javascript vaja)替换该查询字符串的所有出现(不区分大小写).

我现在最接近的解决方案是:

"Javascript vaja".replace(/ja/gi, '<b>ja</b>');

这给了我:

"<b>ja</b>vascript va<b>ja</b>"

但我需要的是:

Javascript vaja => <b>Ja</b>vascript va<b>ja</b>

我想到的一个解决方案是在替换之前保留大写字母的索引,然后重新替换它们.但这太过于苛刻了.我很确定我不是第一个尝试这个的人,并且非常确定隐藏在某处的优雅和简单的解决方案.

javascript

13
推荐指数
1
解决办法
5022
查看次数

Sunspot Rails之间的区别:text an:string type fields

众所周知,在您的可搜索模型中,您可以定义类型索引:text以及:string,例如:

class Post < ActiveRecord::Base
  searchable do
   string :title
   text :title, :body    
end
Run Code Online (Sandbox Code Playgroud)

我尝试搜索文本字段类型和字符串字段类型之间的基本差异,并且能够得到基本的理解,如:

  1. 文本字段类型是标记化的,这使得在其中进行全文搜索的速度非常快.
  2. 您不能使用order_by,即对文本字段进行排序,如果您需要对该字段进行排序,则需要将其定义为:string.

所以我在这里寻找的是文本字段类型和字符串字段类型之间的所有CONCEPTUALUSAGE差异,这样我可以在将字段定义为字符串或文本或两者时权衡我的意见.

注意:我并不是说您在一个答案中提供所有差异,每个答案也会有一个差异,但请确保您已经给出的差异尚未给出.

solr ruby-on-rails sunspot

8
推荐指数
1
解决办法
2488
查看次数

获取字符串的所有前缀列表

Ruby String类中是否有任何内置函数可以为我提供Ruby中字符串的所有前缀.就像是:

"ruby".all_prefixes => ["ruby", "rub", "ru", "r"]
Run Code Online (Sandbox Code Playgroud)

目前我已为此制作了自定义功能:

def all_prefixes search_string
  dup_string = search_string.dup
  return_list = []
  while(dup_string.length != 0)
    return_list << dup_string.dup
    dup_string.chop!
  end 
 return_list 
end
Run Code Online (Sandbox Code Playgroud)

但我正在寻找更多的rubylike,更少的代码和神奇的东西.注意:当然不言而喻original_string应该保持不变.

ruby

6
推荐指数
4
解决办法
1245
查看次数

每当gem时都运行rails,仅在满足特定条件时运行命令。

我们在我们的项目中使用带轨道的宝石。我了解我们可以使用每当gem这样的时间来调度命令。

every 1.day, :at => '6:00 am' do
  command "echo 'hello'"
end
Run Code Online (Sandbox Code Playgroud)

但是我的问题是我只想在满足某些条件时才执行此命令。这样的事情。

every 1.day, :at => '6:00 am' do
 if User.any_new_user? 
  command "echo 'hello'"
 end
end
Run Code Online (Sandbox Code Playgroud)

我们如何通过everyth和rails实现这一目标?我能想到的一种可能的解决方案是,我为此创建一个跑步者并检查那里的状况。

every 1.day, :at => '6:00 am' do
  runner "User.say_conditional_hello"
end
Run Code Online (Sandbox Code Playgroud)

在我的用户模型中:

def self.say_conditional_hello
    `echo "Hello"`
end  
Run Code Online (Sandbox Code Playgroud)

关于此方法或任何新方法的任何建议将非常有帮助。

提前致谢!。

cron ruby-on-rails whenever

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

Rails sort_by方法有两个字段,一个按升序排序,一个按降序排序

我想渲染部分按分数排序,然后按名称排序(如果多个玩家具有相同的分数).

现在我正在使用这个:

<%= render @players.sort_by { |p| [p.scored_vote(current_week), p.last_name] } %>
Run Code Online (Sandbox Code Playgroud)

这是有效的,但它按升序对分数进行排序,我想按降序对它们进行排序.如何翻转分数的排序顺序,而不是名称,我仍然希望按升序排序?

谢谢!

ruby ruby-on-rails

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

倒数整数

我试图反转整数:123456 => 654321,而我能想到的最佳解决方案是123456.to_s.reverse.to_i。我觉得这是太多的代码。有没有比这更好的方法了?

ruby

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

在rspec中存储一个类级别常量

我的课程结构如下:

class Abc
    ONE_CLASS_LEVEL_CONSTANT_BEING_READ_FROM_DB = GloablAttributeValue.read_from_db 
    def some_method_that_use_above_constant
        # this function behaves differently for different values of ONE_CLASS_LEVEL_CONSTANT_BEING_READ_FROM_DB
    end
end
Run Code Online (Sandbox Code Playgroud)

现在我想基于不同的值ONE_CLASS_LEVEL_CONSTANT_BEING_READ_FROM_DB对some_method_that_use_above_constant进行单元测试.这是否可以存根ONE_CLASS_LEVEL_CONSTANT_BEING_READ_FROM_DB的值,以便我可以测试它的不同值rspec

ruby rspec ruby-on-rails

4
推荐指数
1
解决办法
734
查看次数

github api v3从master以外的特定分支获取文件的内容

如何使用github上V3内容API从一个特定的分支获取文件的内容 http://developer.github.com/v3/repos/contents/ 我想这些选项 https://api.github.com/repos/ "ORG_NAME '/' repo_name '/内容/' FILE_PATH" https://api.github.com/repos/ 'ORG_NAME'/ 'repo_name'/内容/ 'FILE_PATH'/?REF = branch_name或相当多的选择,但它取仅来自master分支的文件内容.

但我需要从master以外的分支中获取内容.我知道我错过了一些非常基本的东西,但不知道是什么.提前致谢

github

3
推荐指数
1
解决办法
3543
查看次数

Ruby确定字母是否为大写

问题很简单,可能有数千个答案,但我正在寻找一些神奇的红宝石功能.

问题: To determine whether a letter is upcase or not i.e belongs to A-Z.

可能解决方案

array = ["A","B", ....., "Z"]
letter = "A"
is_upcase = array.include? letter
Run Code Online (Sandbox Code Playgroud)

请注意,"1"不是大写字母.

是否有任何神奇的ruby函数可以用更少的代码解决问题?

ruby

3
推荐指数
1
解决办法
2384
查看次数

每当宝石在星期日每小时安排工作时使用

我们正在使用rails上的gem项目,并且每小时需要运行一个任务,但仅在星期日当天运行.我知道我可以按小时计划任务,通过以下方式:

every 1.hour do
  # do something
end
Run Code Online (Sandbox Code Playgroud)

而且我也明白我可以在星期天的特定时间安排它:

every :sunday, :at => "11:00pm" do
  #do something
end
Run Code Online (Sandbox Code Playgroud)

我正在寻找的是在星期天每小时安排这项任务的一些语法.

ruby-on-rails scheduled-tasks whenever

2
推荐指数
1
解决办法
1154
查看次数

转换为可以通过open-uri打开的有效URL

我需要在ruby中使用open-uri打开一些网页,然后使用Nokogori解析这些页面的内容.我已经做了:

 require 'open-uri'
 content_file = open(user_input_url)
Run Code Online (Sandbox Code Playgroud)

这工作了:http://www.google.co.inhttp://google.co.in ,但是当用户输入给像失败www.google.co.ingoogle.co.in.

有一件事我可以为这种投入我可以追加做http://https://,并返回打开的页面中的内容.但这对我来说似乎是个大黑客.有没有更好的方法在ruby中实现这一点(即将这些user_input转换为有效的open_uri url).

ruby

2
推荐指数
1
解决办法
686
查看次数