• Gemfile 详解 at 2015年08月07日

     好贴!

  • 前端架构分享 at 2015年07月10日

    我觉得用像 Yeoman 这样的前端框架不错。会把文中提到的很多问题都解决

  • Rails 支持多数据源吗? at 2015年06月24日

    可以连,还可以连接到不同的数据库。我之前有一个项目一个 Rails 同时连接到 Postgres,MongoDB 和 Redis

  • 看看 API BluePrint https://apiblueprint.org/

  • 原来 Coding WebIDE 的后台是用 Docker 实现的呀?领教了!

  • 求教 jruby 调试经验 at 2015年06月10日

    尝试这个 gem: https://github.com/pry/pry

    binding.pry
    
  • 还有尽量不要使用 Rails4 中的 ActionController::Live 当使用这个模块并用 Warbler 打包成 war 文件部署到 Java server(例如 Tomcat)上之后,会遇到各种意想不到的问题

  • 部署到 Tomcat 上偶尔会出现 ClassLoader 问题

  • 关于 AngularJS 的一个问题 at 2015年06月09日

    我查过国外的 stack over flow 上的一些。好像目前的 Angular 不支持在 Directive 中输入 resolve 属性,但有很多国外 developer 已经请求加入此功能,详情请看: https://github.com/angular/angular.js/issues/2095 不过如果你就是想达到类似像 router 中 resolve 属性那样效果的话(在后端没有返回数据之前,不加载此 directive),你可以尝试用 jQuery 中的 Ajax api 请求后台 JSON。在发送 AJax 请求的过程中,有一个 async 属性,把它设置为 false(默认情况是 true)。这样你的 directive 代码从异步变成了同步。在你后台没返回之前,此方法将一直堵塞。虽然这个办法不太好,但是目前恐怕只能这么做

  • 关于 AngularJS 的一个问题 at 2015年06月09日

    先回答你的问题: 1 在创建 Directive 的时候,Directive 支持一个叫 controller 的属性。这个 controller 在 link 函数之前调用,它就跟你在 router 上声明相应 template 所对应的 controller 一样,只不过这里的 controller 对应的是 directive 的 template,而不是 router 上声明的 template。如果你有兴趣读过 ngRoute 代码的话,它们的底层实现做的无非就是在 ng-view 这个 directive(注意,ng-view 也是 directive)上加一个 controller 属性,然后把你在之前 router 中声明的 controller 绑定到这个 ng-view directive 上。Angular 中除了 Controller 之外其余的 components 都是 singleton(单件)。也就是说 controller 可以有很多 instances。因为你在 router 和 directive 中都用到了 ProjectListCtrl,所有这个 controller 会被创建两次。 2 $controller 是一个 Angular 内置的 service,它专门用来创建 controller 实例(之前也提到 controller 可以被多次实例化,这个 service 有点像 Java 中的工厂模式)。他的第一个参数如果是 String 的话他会通过这个 String 来寻找之前你在 app 中注册过的 Controller,如果找得到的话他会用这个 controller 对应的 constructor 来实例化此 controller。第二个参数是一个可选的 object。此 object 上所有声明的属性都可被此 controller 实例(注意,仅此 controller 实例)作为依赖注入(Dependency injection)例如:

     function MyController(myDependency){
       console.log(myDependency) 
    }
    //执行完以下代码应该会在console打印 “hello”
     $controller('MyController', {myDependency: 'hello'});
    //执行完以下代码应该会报错,因为你没有注入myDependency依赖,angular的DI系统找不到myDependency代码依赖 
    $controller('MyController');
    
  • 既喜欢 Java 又喜欢 Ruby 的可以尝试使用 jRuby。很好的结合了两种语言的优点

  • 关于 AngularJS 的一个问题 at 2015年06月08日

    你可以尝试用$controller service 手动构建 controller。$controller service 的第二个参数可以传入一个 object,定义你所有想 inject 的依赖。比如,根据你的情况,projectDirective 你可以这么写:

    .directive('projectDiretive', function ($controller) {
       return {
            replace: true,
            template: '<h1>{{ctrl.project.title}}</h1><p>{{ctrl.project.description}}</p>',
            controller:  $controller('ProjectCtrl', {project: ....//你想要注入的object} ),
            controllerAs: 'ctrl',
            link: function (scope, el, attrs, ctrl) {
                     console.log(scope)
            }
       }
    })
    

    详情请参看 angular 文档:https://docs.angularjs.org/api/ng/service/$controller

  • 关于 AngularJS 的一个问题 at 2015年06月08日

    resolve 中的 property 是通过 router 而注入的。所以当你再定义路由的时候,resolve property 中的依赖可以正常注入到其相应的 controller 中。而 directive 就不行了。当你在 directive 中使用 controller 属性的时候,只有以下 objects 可以被注入: $scope, $element, $attrs, $transclude, 以及你定义的所有 service,例如 projectService

  • 弱弱问一句,Rails4 中的 includes 或者 eager_load 语句可不可以像 joins 那样支持自定义话的 join 语句?

  • Session 里默认情况下就是保存在用户浏览器里的一段被你的 rails 应用签过名的 cookie 值。里面包含了登录用户的 user_id。Rails4 中,cookies 值会被加密

  • 可以用 Yeoman 单独开发前段代码,Rails 只只负责开发 API。到最后用 Yeoman 来打包前段代码,并把相应的打包好的代码,包括 index.html, application.js, application.css 作为静态文件直接放到 rails 项目中的 public 目录下,让 web 服务器直接处理

  • Rails db agnostic at 2014年09月28日

    刚试过。果然可以!只不过在把 Mongoid gem 加入 Gemfile 之后每当使用 Rails 的 generator 生成 model 或 scaffold 之后,rails 将默认使用 Mongoid 作为 ORM 而不是 ActiveRecord,Migration 以后也需要手动创建!

    多谢各位大侠的回复!

  • Ryan Bates 怎么了 at 2013年10月04日

    #5 楼 @lgn21st 他自己在博客曾说过。The best way I can describe it is that I feel paralized under the pressures of work. http://railscasts.com/announcements/11

  • declarative authorization

  • Ryan Bates 怎么了 at 2013年10月04日

    连出那么多 Rails 视频,据说已经瘫掉了!

  • Ruby on Rails 线程安全代码 at 2013年05月27日

    #15 楼 @vincent 我记得在 Java 里,无论是类变量还是实例变量,只有当变量被声明成 volatile 之后,此变量才被所有线程共享,否则默认情况下 JVM 会给每个线程分配一小块内存。在此内存上会存有所有共享变量的一个副本。在每个线程对那些共享变量的操作都是先对其对应的副本进行操作,然后再把共享变量的副本写道主内存上的。这样的话就当多线程操作一些共享变量的时候会导致一些共享变量的不一致性。

    如果 Ruby 的类变量类似于全局变量的话,是不是说它默认情况下就是被声明成 volatile(易变的)?所以所有的 Ruby 线程将看到一致的共享变量值?

  • Github 就是用 ROR 做的!

  • 三层关联的 form_tag 怎么写 at 2013年04月15日

    不好意思,应该是:

    = form_tag "YOUR URL" do
      = fields_for :company do |c|
        = c.fields_for :departments do |d|
          = d.group do |g|
            ...
        end
      end
    end
    

    后台得到的 hash 将是 {:company => {:departments => {:group => {}}}}

  • 三层关联的 form_tag 怎么写 at 2013年04月15日

    {:company=>{:departments=>{:group=>{...}}}} 这是后台得到的 Hash

  • Ruby 的常量查找路径问题 at 2013年04月11日

    #8 楼 @vincent 我不明白这种定义类方法的形式和传统的相比执行速度有没有影响?

  • 一班人很难发现问题出在哪