Ruby China
  • Topics
  • 招聘
  • Wiki
  • 酷站
  • Gems
  • Sign Up
  • Sign In
Rei
@Rei
Admin
NO. 1 / 2011-10-28

[email protected]
深圳
182 Topics / 9130 Replies
727 Followers
0 Following
11 Favorites
中下水平 Rails 程序员
Reward
GitHub Public Repos
  • writings 940

    [Closed] Source code of writings.io

  • alipay 732

    Unofficial alipay ruby gem

  • code_campo 291

    [Closed] Source code of http://codecampo.com

  • asciidoctor-pdf-cjk-ka... 101

    **no longer maintained**

  • asciidoctor-htmlbook 31

    Asciidoctor HTMLBook is an Asciidoctor backend for converting AsciiDoc documents to HTMLBook docu...

  • material-ui 17

  • rich-text-editor 12

  • htmlrenderer 12

  • rails-chatgpt-demo 8

  • rails-app 7

    A Rails project template lets me start new projects quickly.

More on GitHub
  • Overview
  • Topics
  • Replies
  • Favorites
  • Following
  • Followers
  • 有段时间没写 Rails,看着 7 出了,自己试了试,引入 Font-awesome 遇到点问题。 at June 03, 2022

    写了一篇日志记录解决的原理 https://geeknote.net/Rei/posts/1222

  • 有段时间没写 Rails,看着 7 出了,自己试了试,引入 Font-awesome 遇到点问题。 at June 02, 2022

    验证过的方法:

    在 config/initializers/assets.rb 加入:

    Rails.application.config.assets.paths << Rails.root.join('node_modules/@fortawesome/fontawesome-free/webfonts')
    

    在 application.sass.scss 加入:

    $fa-font-path: ".";
    
    @import "@fortawesome/fontawesome-free/scss/fontawesome.scss";
    @import "@fortawesome/fontawesome-free/scss/solid.scss";
    

    其他不用改,包括 manifest.json。

  • ruby2.1.6 安装 mysql2 依赖错误哪位老师指点一下 折腾一周了快 mysqlclient 已经安装但就是找不到 at June 01, 2022

    缺少 mysqlclient 的库,楼主没贴是什么系统没法提供方案。

    例如 ubuntu 要装的是 libmysqlclient-dev

  • 有段时间没写 Rails,看着 7 出了,自己试了试,引入 Font-awesome 遇到点问题。 at May 31, 2022

    编辑:行不通,看 18 楼。


    我看了下 fontawesome 的源码,也许要加上 fa-font-path 变量,从 scss 编译。

    因为 fa-font-path 默认是相对路径 '../webfonts',上面的 link_tree 已经进入了 webfonts 这个目录。

    $fa-font-path: '';
    
    // You probably already include the core styles
    @import "./fontawesome/scss/fontawesome.scss";
    
    // For Duotones you need both of these files
    @import "./fontawesome/scss/duotone.scss";
    @import "./fontawesome/scss/_duotone-icons.scss";
    
    // You can include all the other styles the same as before
    @import "./fontawesome/scss/solid.scss";
    @import "./fontawesome/scss/brands.scss";
    
  • 有段时间没写 Rails,看着 7 出了,自己试了试,引入 Font-awesome 遇到点问题。 at May 31, 2022

    编辑:行不通,看 18 楼。


    因为 sass 不处理引用的资源(字体或者图片),这还需要 assets pipeline 处理。

    如果 assets pipeline 用的是 sprocket,那么可以在 manifest.js 里面添加设置:

    //= link_tree ../../../node_modules/@fortawesome/fontawesome-free/webfonts
    

    注意这个路径是否匹配你的安装路径。设置这个后,sprocket 会把这个 webfonts 目录下的资源加入 pipeline,并且替换 css 里面用 url() 引用的资源地址(加上 digest)。

    如果还有问题可以参考这个 issue https://github.com/rails/cssbundling-rails/issues/22#issuecomment-1030735501 。

  • 求助各位,我现在用 ror 调用 elasticsearch 搜索展示页面,第一次加载非常慢,要第二才快起来 at May 30, 2022

    需要贴代码和日志。

  • React 中 input 元素的 onChange 事件怎么没有执行? at May 26, 2022

    原生 dom 用 js 更改 input 的值是不会触发事件的,要手动触发,可能是遵循了原生的惯例。

  • 擅长前端(React/Vue/Angular)的同学会不会觉得 Hotwire 和 Turbo 那套东西有点复杂的可怕? at May 16, 2022

    DOM 不是什么见不得人的事情,就好像一个人只用 ORM 不关心 SQL,我会怀疑他能否写出高效的查询,遇到问题能不能自己解决。

  • 擅长前端(React/Vue/Angular)的同学会不会觉得 Hotwire 和 Turbo 那套东西有点复杂的可怕? at May 15, 2022

    New Suspense SSR Architecture in React 18 https://github.com/reactwg/react-18/discussions/37

    React 也在发展类似的技术:

    • SSR 不用说了。
    • hydration(水合),给 SSR 的 HTML 附上交互逻辑,Stimulus 的功能。
    • lazy loading,Turbo Frame 的功能。
    • Streaming HTML,这个不太一样,React 还是一个请求响应内更新,Tubo Stream 可以通过 ActionCable 主动从服务端发起更新。

    这些在 React 都还是前沿技术,也不难理解为什么有人觉得 hotwire 难了。

    前端框架可以让开发忽略一些细节,但是 Web 是一个整体,如果一直割裂看待前端和后端,早晚遇到瓶颈。

  • 擅长前端(React/Vue/Angular)的同学会不会觉得 Hotwire 和 Turbo 那套东西有点复杂的可怕? at May 14, 2022

    全栈是殊途同归,不信请看:

    https://staging-cn.vuejs.org/guide/scaling-up/ssr.html

    什么是 SSR?

    Vue.js 是一个用于构建客户端应用的框架。默认情况下,Vue 组件在浏览器中生成和操作 DOM 作为输出。然而,我们也可以将相同的组件在服务端渲染成 HTML 字符串,直接返回给浏览器,最后再将静态的 HTML“激活” (hydrate) 为完全交互式的客户端应用。

    一个由服务端渲染的 Vue.js 应用也可以被认为是“同构的”或“通用的”,因为应用的大部分代码同时运行在服务端和客户端。

    区别是你愿意用 JS 全栈,还是 Rails 全栈。

  • Rails 项目里使用 React 的方式 at May 12, 2022

    我也刚开始学,看上去就像 stimulus + react,而且是基于 web component。

  • Rails 项目里使用 React 的方式 at May 11, 2022

    从技术上看,顶楼的方法没问题。stimulus 负责绑定服务端渲染的组件,react 负责客户端视图渲染和行为,他们是互补的关系。lit 综合了两者的优点,似乎是更好的选择,我未来也打算试用 lit。

    从管理上看,选择的技术要符合团队的技术栈,只要团队都能接受就行。现实上全栈的人难招,市场上前端几乎代表着前后端分离了,如果业务需要团队在一年内扩展 100 人,那么只能适应现状走分离路线。但对于小公司,未来一年最大问题是是否存活,开发人员只有几个人,每个人什么都干,那么全栈是比较好的选择。

  • 如何从 Webpacker 切换到 CSS/JS bundling at May 10, 2022

    importmap 最大作用是让 rails 默认创建的时候不依赖任何打包工具,有打包需求的还是应该用打包器。

  • 如何从 Webpacker 切换到 CSS/JS bundling at May 10, 2022

    第一个问题,没有加载成功是指找不到这个带 hash 的文件,还是加载了文件但是内容报错?尝试以下操作:

    • 检查 assets 下面的目录有没有其他 application.js 文件导致了被覆盖,删掉它。
    • 重启 rails 进程,添加新目录的时候 assets pipeline 需要重启才能识别。
    • 清除 public 目录下已经生成的 manifest.json 和 assets 目录
    • 升级 sprockets。
    • 用 propshaft 替换 sprockets https://github.com/rails/propshaft 。

    或者直接在 builds 目录新建一个 foo.js,然后在页面引用看看是否工作,可以排除很多其他干扰。

    第二个问题涉及 ES Module 的工作方式,根据每个 js 库的情况不同要分别处理,最好是引用的库自己有关于 esbuild 的说明。

    例如找不到 jQuery 的问题,是因为这段代码:

    import 'jquery'
    

    这是引用了文件,但没有导入模块到这个上下文。要使用 jquery 里的 $ 或者 jQuery 方法,需要这样:

    import $ from 'jquery'
    

    但是这个 $ 只能在 application.js 这个文件的上下文用,jquery.qrcode 和其他依赖 window.jQuery 对象的库依然找不到,这时候可以把 $ 绑定到全局:

    import $ from 'jquery'
    
    window.$ = window.jQuery = $
    

    我猜想你的 webpacker 配置设置了:

    new webpack.ProvidePlugin({
      $: 'jquery',
      jQuery: 'jquery',
    });
    

    就是做了类似的事。

    es module 也是这几年才成为事实标准的,有的库不一定做了相应的适配,得逐个看情况处理。所以这个切换并不是很容易的。

  • rbenv for Windows — 使用 PowerShell 实现,Windows 用户极致简单的安装管理多版本 Ruby at May 09, 2022

    用 docker 可以把所有系统依赖包括 ruby, postgres, redis 都写成配置文件(docker compose),难度大大低于单独处理每个依赖,最难的地方就在于第一步:开始学习。

    我曾经通过微信指导让一个朋友在 windows 主机上通过 docker compose 运行单独给他写的应用。

  • 你写博客是为了什么? at May 08, 2022

    这是把论坛当博客用了。

  • [广州] 番禺区 市桥 招聘 rubyonrails 开发人员,开发跨境电商商城系统,可外包 at May 01, 2022

    内容太少了,而且排版不良,建议参考招聘板块其他帖子。

  • 【今晚不翻车 20 点不见不散】如何不用框架用 Ruby 写 Web APP? at April 30, 2022

    @jinxin238357 已禁言

  • 【今晚不翻车 20 点不见不散】如何不用框架用 Ruby 写 Web APP? at April 30, 2022

    这名用户发送了很多巨魔回复,警告一次,如果不改正将会禁言。其他人无需跟他互动。

  • 程序员创业是不是都爱做给程序员用的东西? at April 18, 2022

    chatwoot 是个好的开源商业案例啊,他们 2017 年发布的时候没什么关注,2019 年快要放弃了就开源了,结果火了。现在关注的人多,也有商业模式。

  • 程序员创业是不是都爱做给程序员用的东西? at April 18, 2022

    感觉我中枪了呢,毕竟我也在 Twitter 做调研,也搞了个 XX 笔记,也还没赚到钱。

    不知道楼主是不是已经创业成功了,有什么经验或者点子能分享,不然我不知道楼主吐槽这个有什么意义。

    能被大多数人需要的东西,肯定有大公司做了,而垂直领域需要的东西,需要跟这个领域有接触,除非之前就在这个领域工作,否则很难凭空想出来。

    从自己的需求出发,事前做调研,已经是较务实的做法了。按我实际经验,程序员可不会留面子说“不错”,大多数都是说“不需要”,“别人都能做,你有什么优势”。

    创业成功的人 >>> 事前调研的人 > 事前不调研的人 >>> 干说不练的人。

  • 想请教一个 ror 的问题 at April 18, 2022

    foreign_key 主要看业务,需不需要数据库外健保证数据一致性。例如订单引用了产品,但是产品被删除了,订单处理就会出异常,这样就需要外健保护。

  • 想请教一个 ror 的问题 at April 16, 2022

    像是 test fixture 里面的数据引用了不存在的对象。

  • 宿主机中的 nginx 怎么访问 docker 容器中的 public assets 文件? at April 14, 2022

    是的。生产环境均衡负载用云服务的,静态文件用 CDN。nginx 也可以这么用。基于文件共享的方案不适合容器。

  • 宿主机中的 nginx 怎么访问 docker 容器中的 public assets 文件? at April 14, 2022

    https://www.nginx.com/resources/wiki/start/topics/examples/reverseproxycachingexample/

  • 现在大家都在用什么软件做 Ruby on Rails 的 IDE? at April 10, 2022

    我在用 atom,但是进入维护模式了。新选建议 vscode。

  • 给博客换了套新评论系统 at April 06, 2022

    楼主你好,我正在运营一个技术写作社区 GeekNote(https://geeknote.net/)

    GeekNote 最近新增了一个新功能,可以让独立博客维持自己发布模式的前提下,方便的转载到 GeekNote,获得更多展示和评论。

    概括来说是这样:

    • 用过往一样的方法在独立博客上编辑和发表文章。
    • 到 GeekNote 通过 RSS Feed 抓取更新,在草稿箱中编辑和发布文章。
    • 文章获得更多展示和评论,并且提升独立博客的搜索引擎权重。

    我希望 GeekNote 能成为独立博客扩大自己受众的平台,不知道有没有兴趣尝试一下?

    功能的详情在 https://geeknote.net/GeekNote/posts/476

  • 想请教一下关于 gem 源码的问题 at April 04, 2022

    你需要看这个文档了解 gem 的目录结构 https://guides.rubygems.org/

    特别是 https://guides.rubygems.org/gems-with-extensions/ 关于怎么调用 C 的库

    搞懂 gem 的结构后看 ruby-pg 是怎么做的,然后看华为 db 跟 postgres 有什么不同,它们有没有提供 C 库,有的话用华为的 C 库替换 ruby-pg 的 C 库部分。

    如果华为 db 是基于 postgres 开发的话,应该可以基于 ruby-pg fork 一份来修改。

  • Turbo Stimulus 中遇到 问题 at April 04, 2022

    这是原生 JavaScript 的问题

    window.__audioEl.addEventListener("timeupdate", this.onTimeUpdate, true)
    

    这里 onTimeUpdate 的上下文是 windows,this 指向的是 window。

    要改成:

    window.__audioEl.addEventListener("timeupdate", this.onTimeUpdate.bind(this), true)
    

    顺便提一下你将来会遇到的问题,怎么解绑:

    
    connect() {
      // ...
      this.onTimeUpdateHandler = this.onTimeUpdate.bind(this)
      window.__audioEl.addEventListener("timeupdate", this.onTimeUpdateHandler, true)
    }
    
    disconnect() {
      window.__audioEl.removeEventListener("timeupdate", this.onTimeUpdateHandler, true)
    }
    
  • Linux 下源更换失败怎么解决啊 at April 03, 2022

    不明情况下关闭 ssl 校验很危险,如果这是网络被劫持了呢?

    看楼上 yum 命令也出错,感觉系统已经被玩坏了,建议重装。

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