Ruby China
  • Topics
  • 招聘
  • Wiki
  • 酷站
  • Gems
  • Sign Up
  • Sign In
Brooke Powell
@brookepowell
Member
NO. 84233 / 2020-03-10

10 Topics / 28 Replies
3 Followers
0 Following
0 Favorites
No GitHub.
  • Overview
  • Topics
  • Replies
  • Favorites
  • Following
  • Followers
  • 关于 Rails+Postgresql 的 Array 字段问题 at March 18, 2022

    试了一下这个方法,会报错:Unpermitted parameters: :tag_ids 最终的permitted_params中丢失了tag_ids参数

  • 关于 Rails+Postgresql 的 Array 字段问题 at March 17, 2022

    因为网页上的text_field的值是由 js 的多选输入框生成的,生成的值就是1,3,5这种形式,不能传数组。

  • include Singleton 和 class << self 有什么区别 at September 17, 2021

    Singleton 是单例的意思,就是只初始化一个类成员instance,并始终使用它。

    来自 WIKI 的说明 (链接):

    单例模式,也叫单子模式,是一种常用的软件设计模式,属于创建型模式的一种。在应用这个模式时,单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取,然后服务进程中的其他对象再通过这个单例对象获取这些配置信息。这种方式简化了在复杂环境下的配置管理。

    你在上面的写法有误,因为实际并没有用到 Singleton,而是在调用类方法

    上面的写法等价于:

    class CoderA
      def self.work
        "crash at 996"
      end
    end
    
    class CoderB
      class << self
        def work
          "live at 955"
        end
      end
    end
    
    p CoderA.work
    p CoderB.work
    

    class << self 的写法其实只是让包含在此区块中的类方法在定义的时候省略self.

    正确的单例写法:

    require "singleton"
    
    class CoderA
      include Singleton
    
      def work
        "crash at 996"
      end
    end
    
    p CoderA.instance.work
    

    附文档:https://rubyapi.org/3.0/o/singleton

  • Ruby Web 框架 RPS 及内存占用 at September 13, 2021

    这个结果对实际项目感觉没什么意义,毕竟线上项目可不是运行的 hello world 想像一下复杂的线上项目基于 rack,用纯净 ruby 编写,酸爽程度不论,其实还是要写出另一个不会比 rails 更好的框架来。

  • 关于 Rails 的多数据库事务 at September 03, 2021

    试过,只 rollback 了触发错误的那个数据库连接的数据,没有 rollback 另一个数据库的数据

  • RubyChina 的黑暗模式看得好累啊? at April 18, 2021

    我觉得很好看

  • 数据库列名与 Rails 方法名冲突怎么解决? at March 05, 2021

    试试 alias_attribute

    class Person
        alias_attribute :nickname, :name
    end
    

    via: https://api.rubyonrails.org/classes/ActiveModel/AttributeMethods/ClassMethods.html

  • 超过 1 千万条数据,如何快速从 mysql 导入到 elasticsearch 中? at March 03, 2021

    目前的同步方案是用的 logstash

  • 超过 1 千万条数据,如何快速从 mysql 导入到 elasticsearch 中? at March 03, 2021

    用这个 gem 还需要建立 model,创建项目,挺重的。我只是想把数据全量导入 es

  • 超过 1 千万条数据,如何快速从 mysql 导入到 elasticsearch 中? at March 03, 2021

    谢谢回复,你说的似乎是要自己写代码来导入,请问有没有现成的工具?配置一下就可以进行导入。

  • ruby map 有没有更简洁的写法 at February 05, 2021
    extract = ->(k) { ->(h) { h[k] } }
    arr.map(&extract[:a])
    

    via: https://stackoverflow.com/questions/20179636/ruby-using-the-methodname-shortcut-from-array-mapmethodname-for-hash-key

  • Ruby 不同入参类型的函数,能不能用同一个名字 at January 08, 2021

    转换一下思路,用这种方法是不是也行?

    def handle(options={})
      str = options.fetch(:str, "hello world")
      list = options.fetch(:list, [])
    
      return str unless str.nil?
      return list..map {|e| e += 1} unless list.nil?
    end
    
    handle(str: 'hello ruby')
    handle(list: [1,2,3])
    
  • 重装 Ruby 2.5.1 之后启动报错 at November 10, 2020

    到 /usr/local/opt/openssl/lib/ 这个目录下面看看有没有安装 openssl,如果没有安装,就执行 brew install openssl

    如果安装了,就看一下目录下面应该有最新版本的 libssl.1.0.0.dylib, 例如我这里最新版栮是:libssl.1.1.1h.dylib

    然后将最新版本的这个文件做一个符号链接: ln -s libssl.1.1.1h.dylib libssl.1.0.0.dylib

    可能这个目录里的其他几个文件也需要做,可以根据错误提示做上就好了。

  • 大家在 Rails 项目中使用 Docker 时,开发期间也会使用 Docker 吗? at October 11, 2020

    请问有没有与 microk8s 做一下对比?想知道真实场景中两者的优缺点

  • Rails 如何设置全局的 URL 前缀 at September 03, 2020

    可以试试用 config.assets.prefix 为静态资源配置前缀

  • 反馈下发现的 2 个小问题 at July 07, 2020

    @huacnlee 我在 firefox 下发贴出现问题,在发贴界面,选择节点时,点击节点名就直接跳转到节点话题索引页了,没办法发布新话题

  • rails-settings-cached 通过 api 创建 setting 后,不能直接根据 Setting.var 获取到值 at July 07, 2020

    Gem 本身就是设计用来做静态配置项的,建议动静态分开,如果有动态的需求,我是自己另外做功能放这些配置。

  • 使用 Capistrano 部署,时间超长,原因是什么? at June 28, 2020

    输出信息里有写,你的 application.js 文件超出了推荐大小

    建议先检查一下里面用了什么第三方库,会占用这么大文件。

  • 如何为当前 URL append 参数? at June 23, 2020

    这个方法解决了我的问题,感谢。

  • 现在技术基本上没有发言权了,资本操控一切 at June 21, 2020

    大多数程序员选择语言也只是选择一个生态和稳定的吃饭工具,有多少本身很喜欢 ruby 的同学在被迫写其他语言。

    一直在关注 @nightire,前段时间看到新出了一期 emberjs 的视频,对 emberjs 挺有兴趣,希望能够继续更新。

    也希望能够谈谈最近 emberjs 的近况,感谢。

  • Rails 6 webpacker 无法导入 plupload at June 21, 2020

    可以试试

    let plupload = require('plupload/plupload');
    

    这个项目几年没更新了,建议找别的库替换

  • 使用 Graphql + Searchkick 的 N+1 问题 at April 13, 2020

    确实是使用方法的问题,在 Graphql 里应该调用 BatchLoader::GraphQL.for 现在可以了,非常感谢。

    BatchLoader::GraphQL.for(object.id).batch(default_value: []) do |post_ids, loader|
      Image.where(post_id: post_ids).each { |i| loader.call(i.post_id, i) }
    end
    
  • 使用 Graphql + Searchkick 的 N+1 问题 at April 13, 2020

    谢谢回复,我试了一下这个 gem, 在我的 PostType 里面,当object是Searchkick::HashWrapper的实例的时候 (searchkick 搜索结果),batchloader 没有起作用,每条 post 还是单独 select 它的所有图片。

    相关代码:

    # demo_schema.rb
    class DemoSchema < GraphQL::Schema
      mutation ::Types::MutationType
      query ::Queries::QueryType
      use BatchLoader::GraphQL
    end
    
    # post_type.rb
    module Types
      class PostType < BaseObject
        field :id, String, null: false
        field :title, String, "标题", null: false
        field :images, [Types::ImageType], "图片", null: true
    
        def images
          # 这里的object是 Searchkick::HashWrapper
          BatchLoader.for(object.id).batch(default_value: []) do |post_ids, loader|
            Image.where(post_id: post_ids).each { |i| loader.call(i.post_id, i) }
          end
        end
      end
    end
    

    请教是我的使用方法有问题吗?

关于 / RubyConf / Ruby 镜像 / RubyGems 镜像 / 活跃会员 / 组织 / API / 贡献者
由众多爱好者共同维护的 Ruby 中文社区,本站使用 Homeland 构建,并采用 Docker 部署。
服务器由 赞助 CDN 由 赞助
iOS 客户端 / Android 客户端 简体中文 / English