Ruby China
  • 社区
  • 招聘
  • Wiki
  • 酷站
  • Gems
  • 注册
  • 登录
祖神
@illusove
会员
第 85560 位会员 / 2020-11-04

[email protected]
武汉
2 篇帖子 / 31 条回帖
3 关注者
1 正在关注
0 收藏
好想被动增长技术
未设置 GitHub 信息。
  • 概况
  • 话题
  • 回帖
  • 收藏
  • 正在关注
  • 关注者
  • [深圳] 深圳至简天成科技(ShowMeBug)招聘 2 名 Ruby 中级后端开发工程师(15-30K) at 2024年04月12日

    岗位现在接收远程吗?

  • 喜欢 Ruby 的朋友们,你的 MBTI 是什么呢? at 2023年07月11日

    ISFP-A

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

    额,报错上面说的是没安装 libmysqlclient。

    如果你是 ubuntu 就运行 apt-get install libmysqlclient-dev

    是 centos 就运行 yum install mysql-devel

    然后再 bundle install 试试

  • collection_select 使用如何编辑下拉框选项 at 2022年04月11日

    可以看看 api: https://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-collection_select

  • 哪个 Gem 的哪个功能是你认为的适合进行源码学习的? at 2022年04月03日

    好的,谢谢大佬指点,说起来,好像除了刚入门 rails 的时候,基本上很少看 Rails Guides 了,确实是个知识盲点,受教了😀

  • 哪个 Gem 的哪个功能是你认为的适合进行源码学习的? at 2022年04月02日

    额,看来由易到难这条路确实很难走,我再试试吧,不行就回来😂

  • 哪个 Gem 的哪个功能是你认为的适合进行源码学习的? at 2022年04月02日

    额,感谢大佬的回答,我再努力找找,感觉没得进步就会被淘汰,ruby 也终究逃不脱被卷的命运😭

  • 哪个 Gem 的哪个功能是你认为的适合进行源码学习的? at 2022年04月02日

    额,大佬,请恕我不是很能赞成这个观点,因为当 gem 代码的功能很多时,功能之间会有很多交错,各种代理 (我承认有人可以在众多代码中轻易找到主线,但我也相信有一部人不行),一旦层级多一点,就很容易找不到主线,也很容易被与主线关联不大的代码吸引,所以才希望先找比较简单的 gem,这样即使有一点与主线无关的代码,也不会很影响对源码的理解。

  • 哪个 Gem 的哪个功能是你认为的适合进行源码学习的? at 2022年04月02日

    额,我知道的 gem 不多,就是一些常用的 gem,比如 rails、device、kaminari、rest-client 和 nokogiri 等等,这里主要是想找那种比较容易读的 gem 或者功能片段,锻炼阅读源码的能力

  • 哪个 Gem 的哪个功能是你认为的适合进行源码学习的? at 2022年04月02日

    目的已更新

  • 如何取复选框 check_box_tag 的值 at 2022年03月25日

    哦,对的,我还没注意到这个细节😂 ,一直用 find 只查一个 id,理所当然的套用了以前的经验

  • 如何取复选框 check_box_tag 的值 at 2022年03月25日

    tiku = Tiku.find(params[:integrity_checkbox])

    这里有两种正常情况 (假设 params[:integrity_checkbox] 里的 id 都在 tiku 表中)

    • params[:integrity_checkbox] 里的 id 只有一个,例如 [1], 此时 tiku 是 Tiku 的一个实例 (代表 tiku 表中 id 为 1 的数据)

    • params[:integrity_checkbox] 里的 id 有若干个,例如 [1, 2], 此时 tiku 是 Tiku 的两个实例组合成的数组 (代表 tiku 表中 id 为 1 和 2 的两条数据),所以没有 timu 方法

    另外可以建议先看错误显示

    如果你的项目中有 byebug 之类的 gem 的话,可以在报错位置之前插入 byebug 调试,程序运行到 byebug 的位置时会暂停,你就可以打印出 timu 的内容等等,如果没有的话,也可以打印到控制台看相关内容

  • 怎样才算两年经验的 Ruby 程序员 at 2022年03月23日

    能了解一小半也挺厉害了,我还远着😂

  • 在循环中可以使用 check_box 吗 at 2022年03月23日

    ids

  • 在循环中可以使用 check_box 吗 at 2022年03月23日

    我猜你想用的可能是这个 https://api.rubyonrails.org/classes/ActionView/Helpers/FormBuilder.html#method-i-collection_check_boxes

    https://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-collection_check_boxes

  • 怎样才算两年经验的 Ruby 程序员 at 2022年03月22日

    感谢大佬😀 ,清晰的感觉到前路漫漫😂

  • 怎样才算两年经验的 Ruby 程序员 at 2022年03月22日

    看来大佬们的思维都是一致的😂 ,感受到了差距😭

  • 怎样才算两年经验的 Ruby 程序员 at 2022年03月22日

    大佬,是因为看着头疼么😂

  • 回流招聘 “血泪史” at 2022年03月22日

    谢谢夸奖😀

  • 回流招聘 “血泪史” at 2022年03月22日

    唉,ruby 的工作也难找😭

  • 在 block 中怎么访问到类的 attr_accessor ? at 2021年10月04日

    你这个问题的意思是要在类方法里访问实例对象的实例变量,可以是可以,但是因为一个类会有很多实例,所以无法确定是要访问哪一个的实例对象的实例变量,感觉只能在类方法中新生成一个实例对象访问 aa 的默认值或者指定访问对象才行

    class A
      attr_accessor :aa
    
      def initialize 
         @aa=10
      end
    
      class << A
        attr_accessor :bb
        def getaa
          A.new.aa
        end 
    
        def get_aa(obj)
          obj.aa
        end 
      end
    end
    

  • 在 block 中怎么访问到类的 attr_accessor ? at 2021年09月30日

    gem 里应该还比较常见,因为 attr_accessor 就是生成 get 和 set 方法的,所以当需要对类实例变量的 get 和 set 时就在类的 singleton_class 里用 attr_accessor 就行 (类比正常的 class 和实例的关系)https://github.com/rails/rails/blob/4ace047c91d450af17eb218b0ea0139a6ea6f731/railties/lib/rails.rb#L26

  • 在 block 中怎么访问到类的 attr_accessor ? at 2021年09月30日

    感谢解答,大致明白

  • 在 block 中怎么访问到类的 attr_accessor ? at 2021年09月30日

    哦哦,大致明白😂 。 另外,这里其实可以不用 instance_variable_set 直接操作类实例变量

    MyApp.instance_variable_set :@req,  Rack::Request.new(env)
    

  • 在 block 中怎么访问到类的 attr_accessor ? at 2021年09月29日

    额,这样么😂 ,如果多线程只是省内存,那怎么能加快程序的运行速度呢❓ ,因为我工作中使用多线程一般都是为了提高程序的运行速度,所以有此疑问😂

  • 在 block 中怎么访问到类的 attr_accessor ? at 2021年09月29日

    这我就不清楚了,不过如果 call 并发安全的话。 我有一个疑问,服务器开多线程的作用是啥😂

  • 在 block 中怎么访问到类的 attr_accessor ? at 2021年09月29日

    你上面的做法,get 方法的 self 是 MyApp,所以直接执行 request.inspect 应该是空值,因为 MyApp 中没有初始化@route和@req。 后面的 call 方法里一直都是对 Base 的独有的类实例变量进行赋值,所以需要加 Base.request.inspect 才能取到值,因为全程 MyApp 都只是起到了初始化 Base 里的类实例变量的作用。

    把 call 方法里的 Base 都改成 MyApp, get 方法里的 block 里应该就可以直接用 request.inspect 了 或者像@Rei大佬说的一样,用 Base 的环境运行 block 也行,至于并发隐患,我还不懂😂(好像是因为@req只有一个,所以会导致多个请求同时到来的时候,@req会混乱❓ )

  • 在 block 中怎么访问到类的 attr_accessor ? at 2021年09月29日
    Base.class_variable_set :@req, Rack::Request.new(env)
    

    这里的 class_variable_set 方法表明要设定类变量,但是你这里设置的是类实例变量,类变量需要以@@开头。 类实例变量,也就是这个类独有的实例变量,子类无法继承

    同理,你下面的 test.rb 中两个@req,用 attr_accessor 生成@req的是 Test 的实例的实例变量,而你写在 class << self 里的@req是 Test 的实例变量 (只不过此时 Test 是个类而已)

  • 元编程是用 eval 实现的吗? at 2021年09月27日

    好像是这个 (类宏) https://github.com/JuanitoFatas/rails-style-guide/blob/master/README-zhCN.md

  • 元编程是用 eval 实现的吗? at 2021年09月27日
    class  Base
      class << self
        ['xx', 'oo'].each do | method|
          define_method(method.to_sym) do |name, &block|
            block.call(name)
          end
        end
      end
    end
    

    yield 在这里取不到 block(可能是环境不在 def 方法下的原因?),同样这里的 block_given?也取不到正确的值,不过可以用&block 可以取到正确的 block

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