小编Ser*_*sev的帖子

NodeJS使用redis - 与hiredis vs安装没有?

我正在将redis集成到我的NodeJS服务器应用程序中,我正试图弄清楚是否使用hiredis命令安装node_redis.我认为如果它在某种程度上没有用处,那么安装它的选项将无法使用.同时,node_redis(https://github.com/mranney/node_redis)的github页面清楚地表明升级到较新版本的nodeJS会导致添加hiredis选项出现问题.

有人可以列出添加hiredis vs不是的不成文的利弊吗?使用C库可以提高多少性能?

connect redis node.js node-redis

5
推荐指数
0
解决办法
2952
查看次数

动态获取路径路径

我最近将一些模板从ERB转换为Haml.它大多变得更清洁,更好,但按钮定义开始变得很糟糕.

我想转换它

= link_to t('.new', :default => t("helpers.links.new")),
          new_intern_path,                                       
          :class => 'btn btn-primary' if can? :create, Intern    
Run Code Online (Sandbox Code Playgroud)

这样的事情

= new_button Intern
Run Code Online (Sandbox Code Playgroud)

我还有其他几个实体,Intern所以其他所有页面也会从中受益.

所以,我输入了这段代码

  def new_button(person_class)
    return unless can?(:create, person_class)

    new_route_method = eval("new_#{person_class.name.tableize}_path")

    link_to t('.new', :default => t("helpers.links.new")),
              new_route_method,                                       
              :class => 'btn btn-primary'
  end
Run Code Online (Sandbox Code Playgroud)

它按预期工作.我只是不确定那个eval电话(因为它是邪恶的,所有这一切).有一种更简单,更不邪恶的方式吗?

ruby ruby-on-rails ruby-on-rails-3

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

获取 MongoDB 文档中文档的键

除了遍历文档之外,还有什么方法可以获取 MongoDB 中特定文档的键列表?

即我想获取由返回的文档的密钥

db.users.find({username:'xyz@abc.com})
Run Code Online (Sandbox Code Playgroud)

是否有任何内联命令。如果没有,任何人都可以给出如何做的想法吗?

mongodb mongoid

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

将字符串ID与BSON :: ObjectId进行比较

我有一个由类型组成的数组,BSON::ObjectId我希望它与一些ID作为字符串进行比较.

if my_array_of_BSON_ObjectIds.include?(@my_id_as_a_string)
   # delete the item from the array
else
   # add the item to the array as a BSON::ObjectId
end
Run Code Online (Sandbox Code Playgroud)

由于类型不同,这不起作用,我可以将我的字符串转换为BSON::ObjectId?如果是这样,怎么样?

ruby arrays mongodb mongoid

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

如何在rails erb文件中缩小javascript部分?

应用程序未使用标准资产管道,因为某些javascript是由控制器变量动态呈现的.

我想在将js文件附加/内联到html文件之前缩小js.

我已经尝试过<render :partial => 'javascript.js'>哪种是在erb中渲染局部的标准方法.

理想情况下,我只能 <render :partial => Minify.new.minify('javascript.js')>渲染js的缩小版本

ruby ruby-on-rails

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

时间戳是否需要可为空的 false 声明

创建 ActiveRecord 对象时,时间戳是否需要可为 null 的 false 声明。

t.timestamps null: false
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails

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

递归(?)算法设计

我要求允许我的最终用户输入公式,就像电子表格一样.我有这样一个数组:

$table = array(
    1=>array(
            "id"=>1,
            "Name"=>"Regulating",
            "Quantity"=>"[2]Quantity+[3]Value",
            "Value"=>"[2]Cost"
        ),
...)
Run Code Online (Sandbox Code Playgroud)

第一级数组键的值始终与该数组中的id键相同.

列表示例如下:

id  Name        Quantity                Value
1   Regulating  [2]Quantity+[3]Value    [2]Cost
2   Kerbs       3                       6
3   Bricks      9                       7
4   Sausages    [3]Cost                 3
5   Bamboo      [4]Quantity             [7]Cost
6   Clams       [4]Quantity             NULL
7   Hardcore    [3]Quantity*0.5         12
8   Beetles     [6]Quantity*[4]Value    [2]Value
Run Code Online (Sandbox Code Playgroud)

数量和值键表示引用[id]和数量,值或成本的公式.

通过乘以价值和数量得出成本.

我在用:

preg_match_all("/\[(.*?)\]([A-Z]*[a-z]*)/", $string, $matches, PREG_SET_ORDER);
Run Code Online (Sandbox Code Playgroud)

它输出一个像这样的数组[1][Quantity]:

Array
(
    [0] => Array
        (
            [0] => [2]Quantity
            [1] => 2
            [2] => Quantity
        )

    [1] => Array
        (
            [0] …
Run Code Online (Sandbox Code Playgroud)

php algorithm recursion

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

POST登录路由在生产中不起作用

我是红宝石的新手。我正在开发具有身份验证系统的应用程序。
我的问题是在生产环境(Heroku)中登录应用程序时出现错误。它正在开发中。 输入url https://akashpinnaka.herokuapp.com/login后产生

错误,它重定向到https://akashpinnaka.herokuapp.comlogin。我缺少用于POST登录的root_url和'login'之间的'/'。注意:在开发环境中工作。我的路线是



Rails.application.routes.draw do

get 'welcome/index'
root 'welcome#index'
resources :articles
resources :projects
resources :users

get '/login' => 'sessions#new'
post '/login' => 'sessions#create'
delete 'logout' => 'sessions#destroy'

end
Run Code Online (Sandbox Code Playgroud)

会话控制器

class SessionsController < ApplicationController

  def new
  end

  def create
    @user = User.find_by_email(params[:session][:email])
    if @user && @user.authenticate(params[:session][:password])
      session[:user_id] = @user.id
      redirect_to root_path
    else
      redirect_to 'login'
    end
  end

  def destroy
    session[:user_id] = nil
    redirect_to '/'
  end

end
Run Code Online (Sandbox Code Playgroud)

会话数#新

<%= form_for(:session, url: login_path) do |f| …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails heroku url-routing production-environment

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

使用活动存储映像获取 MD5 哈希值

在更新到 Rails 5.2 之前,我通过回形针图像创建了 MD5 哈希值,如下所示:json.image_md5 Digest::MD5.file(monument.image.path(:mobile)).hexdigest

现在,有了 Active Storage,我该如何做同样的事情呢?我已经尝试过了:

json.image_md5 Digest::MD5.file(url_for(monument.cover_image)).hexdigest
json.image_md5 Digest::MD5.file(rails_blob_path(monument.cover_image)).hexdigest
json.image_md5 Digest::MD5.file(Rails.application.routes.url_helpers.rails_blob_path(monument.cover_image, only_path: true)).hexdigest
Run Code Online (Sandbox Code Playgroud)

但没有成功。我收到一个错误No such file or directory

你能帮助我吗?谢谢你!

ruby-on-rails ruby-on-rails-5 rails-activestorage ruby-on-rails-5.2

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

一致散列是一种缩放写入的方法

我想知道我是否走在正确的轨道上.我正在构建(实时)统计/分析服务,我使用redis来存储一些集合和哈希.

现在让我们假设我取得了一些成功,我需要扩展.哈希环技术看起来不错,但我的印象是它只适用于缓存场景.

如果节点发生故障怎么办?理论上,它的密钥现在由其他节点拥有.实际上,他们没有数据.它丢了,对吗?与添加/删除节点相同.

我错过了一些基本的东西吗?这可能是一个穷人的集群吗?

hash redis consistent-hashing

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