• rake -T
    rake test # 测试全部
    ruby -Ilib:test test/minitest/test_minitest_unit.rb # 测试单个文件
    
  • #5 楼 @zj0713001 我看了下测试,不是Object.nameActiveSupport::Autoload.name # "ActiveSupport::Autoload",但是我不会 binding,不知道 binding 意思

    module MyLib
      extend ActiveSupport::Autoload
      autoload :Model
    
      eager_autoload do
        autoload :Cache
      end
    end
    MyLib.name # => "MyLib"
    
    test "the location of autoloaded constants defaults to :name.underscore" do
      module ::Fixtures::Autoload
        autoload :SomeClass
      end
    
      assert !$LOADED_FEATURES.include?(@some_class_path)
      assert_nothing_raised { ::Fixtures::Autoload::SomeClass }
    end
    
    test "the location of :eager autoloaded constants defaults to :name.underscore" do
      module ::Fixtures::Autoload
        eager_autoload do
          autoload :SomeClass
        end
      end
    
      assert !$LOADED_FEATURES.include?(@some_class_path)
      ::Fixtures::Autoload.eager_load!
      assert $LOADED_FEATURES.include?(@some_class_path)
      assert_nothing_raised { ::Fixtures::Autoload::SomeClass }
    end
    
  • 关于 generator 目录的问题 at November 21, 2014

    自动生产 migration,model,controller,view 等的模板文件,通常继承Rails::Generator::NamedBase或者Rails::Generator::Base https://github.com/rails/rails/tree/master/railties/lib/rails/generators

  • #12 楼 @chairy11 部署到一台服务器一般不用写 server 那部分 server 'xxx', user: 'root', roles: %w{web app}, my_property: :my_value 就可以了

    地址是你本机的私钥地址

    # server 'example.com',
    #   user: 'user_name',
    #   roles: %w{web app},
    #   ssh_options: {
    #     user: 'user_name', # overrides user setting above
    #     keys: %w(/home/user_name/.ssh/id_rsa),
    #     forward_agent: false,
    #     auth_methods: %w(publickey password)
    #     # password: 'please use keys'
    #   }
    

    ~/.ssh/config

    Host bitbucket.org
      User flowerwrong
        Hostname bitbucket.org
        PreferredAuthentications publickey
        IdentityFile ~/.ssh/id_rsa_bitbucket
    
    Host github.com
      User flowerwrong
        Hostname github.com
        PreferredAuthentications publickey
        IdentityFile ~/.ssh/id_rsa_github
    
    Host ip
      IdentityFile ~/.ssh/id_rsa_xx
    
    
  • require 'capistrano/setup'
    require 'capistrano/deploy'
    
    require 'capistrano/rvm' # 看下是不是没有加入rvm
    # require 'capistrano/rbenv'
    # require 'capistrano/chruby'
    require 'capistrano/bundler'
    require 'capistrano/rails/assets'
    require 'capistrano/rails/migrations'
    
    Dir.glob('lib/capistrano/tasks/*.rake').each { |r| import r }
    
  • 手动git pull最新代码 不用,cap production deploy:check 会创建基础环境,过后cap production deploy 要不先玩这个 demo 吧 [email protected]:FlowerWrong/capdemo.git

    # https://github.com/FlowerWrong/capdemo/blob/master/config/deploy.rb
    set :deploy_to, '/home/ubuntu/www/capdemo'
    
    # https://github.com/FlowerWrong/capdemo/blob/master/config/deploy/production.rb
    role :app, %w{ubuntu@xxx}
    role :web, %w{ubuntu@xxx}
    role :db, %w{ubuntu@2xxx}
    # Extended Server Syntax
    # ======================
    # This can be used to drop a more detailed server definition into the
    # server list. The second argument is a, or duck-types, Hash and is
    # used to set extended properties on the server.
    server 'xxx', user: 'ubuntu', roles: %w{web app}, my_property: :my_value
    
  • 昨天听你说你的 gemfile.lock 里面 cap 是 2,你把他删掉,重新重新 bundle install 试下

    rm Gemfile.lock
    bundle install
    

    [email protected]:FlowerWrong/capdemo.git

  • Engine 跟 Gem 的区别 at November 20, 2014

    Engine is a gem. Rails is also a gem with many dependency gem.

    To see demonstrations of other engines, check out Devise, an engine that provides authentication for its parent applications, or Forem, an engine that provides forum functionality. There's also Spree which provides an e-commerce platform, and RefineryCMS, a CMS engine.

    换句话说,engine 更像一个模块。

  • 建议先学习配置 ssh 连接自己服务器,github,bitbucket. 再回头就简单多了。

  • Rails 的 migration 更改 at November 19, 2014

    可以的,但推荐新建 migration 第二个问题:先rake db:drop

  • 问题 1:你的本地工作环境中就可以,至于development还是test,或者tools,无所谓,他只是一个cli程序, 在 3 里面,cap production deploy默认就是在railsproduction环境下执行命令。

    问题 2: require: false就是不加载进入 rails 内部,也就是你不能在 rails 里面的文件里面直接用他或者没必要用它

    问题 3:不知道了。

    capistrano (3.2.1)
      i18n
      rake (>= 10.0.0)
      sshkit (~> 1.3)
    capistrano-bundler (1.1.3)
      capistrano (~> 3.1)
      sshkit (~> 1.2)
    capistrano-rails (1.1.2)
      capistrano (~> 3.1)
      capistrano-bundler (~> 1.1)
    capistrano-rvm (0.1.2)
      capistrano (~> 3.0)
      sshkit (~> 1.2)
    
  • rubygems 网站更新了 at November 19, 2014

    这图片不行 http://rubygems.org/red.jpg

  • :sym'sym' 看起来爽

  • 👏

  • 动态定义路由 at November 17, 2014

    get '*path1/*path2/*path3' => 'pages#unknown' 我确实没有更好的解决办法了

  • #2 楼 @bianlimit 和 rails 没关系,你应该学习 html , css , javascript

    <div class="">
      <div class="a"></div>
      <div class="b"></div>
      <div class="c"></div>
    </div>
    
  • 动态定义路由 at November 17, 2014

    http://guides.rubyonrails.org/routing.html get '*path' => 'pages#unknown' 这个勉强符合需求,更好的我自己也没有发现. 例如我新建了一个 about 页面,在 page 这个 model 里面,那么我想他的路由是 pages/about,在 unknown action 里面我查找 about 这个关键字,返回 page model.

    # routes.rb
    get '*path' => 'pages#unknown'
    
    # page_controller.rb
    class PageController < ApplicationController
      def unknown
        @element = find_by_title(params[:path])
      end
    end
    

    http://stackoverflow.com/questions/18481458/dynamic-routes-on-runtime-in-rails

  • 关于数据库的一个问题 at November 16, 2014
    模型1
    class Course < ActiveRecord::Base
        has_many :datums # not datum
    end
    
  • 请教代码重构 at November 14, 2014

    #1 楼 @Rei good!

  • 新学 Rails,求教 at November 14, 2014
  • http://api.jquery.com/focus/ http://api.jquery.com/blur/ http://api.jquery.com/jQuery.ajax/

  • ......

  • namespace :admin do
      resources :posts, :comments
    end
    # 对应controller在controller/admin/xxx_controller.rb
    
    scope '/admin' do
      resources :posts, :comments
    end
    # 对应controller在controller/xxx_controller.rb
    

    就是多了一个 admin 空间,看你自己的需求了。 我一般配合 cancancan,就用第二种。

  • Is Rails Slow? by Akira Matsuda at November 09, 2014

    Akira Matsuda

    黄家驹

  • Is Rails Slow? by Akira Matsuda at November 08, 2014
  • Is Rails Slow? by Akira Matsuda at November 08, 2014

    #1 楼 @Peter 能云一份不?云梯连不上。

  • 参考新浪微博,微信 api 的设计

  • SublimeCodeIntel 配置 at November 07, 2014

    #3 楼 @flowerwrong

    "Ruby": {
        "ruby": "~/.rvm/rubies/default",
        "rubyExtraPaths": ["~/.rvm/gems/ruby-2.1.4"]
    }
    
    

    ubuntu 14.04 work for me