小编Bib*_*rma的帖子

生成字符串以在Javascript上使用正则表达式

我正在jQuery中制作一个faker插件(jQuery-Faker),它生成伪造数据以填充与其字段名称对应的表单.所以我想用正则表达式生成电话号码/\(?([0-9]{3})\)?([ .-]?)([0-9]{3})\2([0-9]{4})/ 那么有什么方法可以做到这一点吗?

javascript regex jquery

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

与'ws:// localhost:35729/livereload'的WebSocket连接失败:连接建立错误:net :: ERR_CONNECTION_REFUSED

嗨我在上一个开发人员离开公司之后已经分配了一个现有的运行项目.我只是从github克隆了该项目并进行了捆绑.在运行项目时,我在浏览器控制台上收到以下错误.

WebSocket connection to 'ws://localhost:35729/livereload' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED

这是我上任的第一天,它毁了我.

这是我的宝石文件内容

group :development do
  gem 'guard-livereload', require: false
  gem 'rack-livereload'
  gem 'rb-fsevent',       require: false
  gem 'guard-rspec',      require: false
  gem 'annotate'
  gem 'zeus', '0.15.1'
  gem 'i18n-tasks', '~> 0.6.2'
  gem 'quiet_assets'
  gem 'better_errors'
end
Run Code Online (Sandbox Code Playgroud)

在开发中.rb我也是这一行

  # Automatically inject JavaScript needed for LiveReload
  config.middleware.insert_after(ActionDispatch::Static, Rack::LiveReload)
Run Code Online (Sandbox Code Playgroud)

我不知道是什么问题.我是否需要为LiveReload运行单独的服务器?任何建议将不胜感激.谢谢

web-services ruby-on-rails livereload

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

Javascript Regex用内容替换括号

我正在尝试构建一个正则表达式来替换括号与其他内容,在这种情况下,div标签..

所以,文字:

This is a [sample] text
Run Code Online (Sandbox Code Playgroud)

会成为:

This is a <div>sample</div> text
Run Code Online (Sandbox Code Playgroud)

问题是,它应该只在找到两个括号时替换,并保留内容.如果只找到一个括号,它应该忽略它..

所以

This is a [sample text
Run Code Online (Sandbox Code Playgroud)

要么

This is a ] sample text
Run Code Online (Sandbox Code Playgroud)

两者都将保持原样.

它也应该匹配多个出现,所以:

This [is] a [sample] [text]
Run Code Online (Sandbox Code Playgroud)

会成为

This <div>is</div> a <div>sample</div> <div>text</div>
Run Code Online (Sandbox Code Playgroud)

最后一件事,它应该删除(或至少忽略)嵌套括号,所以

This [[is a ] sample [[[ tag]]]
Run Code Online (Sandbox Code Playgroud)

会成为

This <div>is a</div> sample <div> tag </div>
Run Code Online (Sandbox Code Playgroud)

这是我到现在为止所得到的:

function highlightWords(string){
    return string.replace(/(.*)\[+(.+)\]+(.*)/,"$1<div>$2</div>$3");
}
Run Code Online (Sandbox Code Playgroud)

它适用于简单的情况,但不会出现多次出现,也不会删除其他标签.任何正则表达式掌握?

javascript regex jquery

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

在 rails 4 中的 where 条件中使用字符串变量作为字段名称

我在控制器中有一个方法,它检查一个字段的值是否已经存在于数据库中。在我的例子中,我必须通过 AJAX 检查多个字段,例如用户名、电子邮件和 URL。

所以我写了下面的函数

  def check_field_already_exist?(field, params )

    merchant_url = MerchantUrl.where(field: filter_params[field.to_sym]).first

     # here params[:id] is available only while editing the MerchantUrl
     is_available = if (params[:id] && merchant_url)
                 merchant_url.id == params[:id]
               else
                 merchant_url.blank?
               end
  end
Run Code Online (Sandbox Code Playgroud)

并调用此方法作为

  def is_name_available
    render json: check_field_already_exist?('username', params)
  end

  def is_url_available
    render json: check_field_already_exist?('url', params)
  end

  def is_email_available
    render json: check_field_already_exist?('email', params)
  end
Run Code Online (Sandbox Code Playgroud)

但在执行时它会抛出错误

Mysql2::Error: 'where 子句'中的未知列 'merchant_urls.field ': SELECT merchant_urls.* FROM merchant_urlsWHERE merchant_urlsfield= ' http://localhost:3000 '

那么,有没有什么方法可以使用字符串变量作为字段名?谢谢你。

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

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

编码::UndefinedConversionError "\xE7" 从 ASCII-8BIT 到 UTF-8

我正在开发一个 Rails API 项目。这是我的代码片段

class PeopleController < ApplicationController
  respond_to :json

  def index
    respond_with Person.all
  end
end
Run Code Online (Sandbox Code Playgroud)

当我访问该网址时localhost:3000/people.json

Encoding::UndefinedConversionError at /people.json
"\xE7" from ASCII-8BIT to UTF-8
Run Code Online (Sandbox Code Playgroud)

自上周以来我一直在努力解决这个问题,但仍在努力解决这个问题。我在 stackoverflow 上发现了一堆类似的问题,例如this & this,但没有一个解决方案对我有用。

这是我的配置。

导轨 4.2.7.1

红宝石-2.3.1

操作系统:macOS Sierra

输出locale

LC_COLLATE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL=
Run Code Online (Sandbox Code Playgroud)

内容于 ~/.bash_profile

export LC_CTYPE="utf-8"
export LC_CTYPE=en_US.UTF-8
export LANG=en_US.UTF-8
unset LC_ALL
Run Code Online (Sandbox Code Playgroud)

输出 Encoding.default_external

 #<Encoding:UTF-8> 
Run Code Online (Sandbox Code Playgroud)

ruby macos encoding ruby-on-rails utf-8

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