Ruby China
  • 社区
  • 招聘
  • Wiki
  • 酷站
  • Gems
  • 注册
  • 登录
zzzhc
@zzzhc
高级会员
第 303 位会员 / 2011-11-28

北京
1 篇帖子 / 4 条回帖
0 关注者
0 正在关注
0 收藏
GitHub Public Repos
More on GitHub
  • 概况
  • 话题
  • 回帖
  • 收藏
  • 正在关注
  • 关注者
  • 我的 slide: 最佳實踐如何變成了最慢實踐 at 2012年11月22日

    另外,erb 并不是通过 eval 执行的。Rails 现在用 Erubis 来处理 erb, eruby 生成的 ruby 代码会 compile 成一个 ruby method 再执行,相关代码见: https://github.com/rails/rails/blob/3-2-stable/actionpack/lib/action_view/template.rb#L265, https://github.com/rails/rails/blob/3-2-stable/actionpack/lib/action_view/template/handlers/erb.rb#L69)

    require 'erubis'
    input = <<'END'
     <ul>
      <% for item in @list %>
       <li><%= item %></li>
      <% end %>
     </ul>
    END
    list = ['<aaa>', 'b&b', '"ccc"']
    eruby = Erubis::Eruby.new(input)
    puts eruby.src
    
    # result:
    _buf = ''; _buf << ' <ul>
    ';   for item in @list 
     _buf << '   <li>'; _buf << ( item ).to_s; _buf << '</li>
    ';   end 
     _buf << ' </ul>
    ';
    _buf.to_s
    
  • 我的 slide: 最佳實踐如何變成了最慢實踐 at 2012年11月22日

    @xdite, 你是在 rails 代码里看到 activerecord 在不同环境下有不同的缓存策略吗? model 上对 association 的缓存跟代码运行的环境应该无关啊,association 是保存在 record 的实例方法上的,在 view 里 post.user 十次不会执行十次查询 (除非 user 不是用 association 定义的). 见 ActiveRecord::Associations::Builder::Association

  • unicorn 使用简介 at 2012年08月06日

    unicorn 现在是主流了,github 在 09 年就开始在用:https://github.com/blog/517-unicorn

  • ruby-china 项目启动太慢 at 2011年12月03日

    @hooopo, 在 config.ru 里加了几行记录时间 $ cat config.ru

    This file is used by Rack-based servers to start the application.

    app_start_init_time = Time.now

    require ::File.expand_path('../config/environment', FILE)

    app_init_finish_time = Time.now if Rails.env.development? puts "=> boot app used #{app_init_finish_time - app_start_init_time} seconds" end

    run RubyChina::Application

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