@inetufo 能贴一下你 nginx.conf 是怎么设 cache_store 么?现在正遇到这个问题
基本都是用 QuickSilver, dock 基本都是隐藏的
@jjym 你上面找到你那段代码应该是在 Master branch 的,现在 rails master branch 应该是 4.0 不是 3.2.8
3.2.8 的代码是在这里: https://github.com/rails/rails/blob/v3.2.8/activerecord/lib/active_record/querying.rb
@hhuai 说的是对的,基本和 scope 有关的方法都 delegate 到 scoped, scoped 再对应到 relation 中
我记得在::ActiveRecord::Base 定义的 class method 是可以在 ActiveRecord::Relation 下面调用的,估计 Kaminari 要做的事情应该是这样:
class User
def self.page(number = 0)
offset(number * DEFAULT_PER_PAGE).limit(DEFAULT_PER_PAGE)
end
end
User.order(:first_name).page
上面那段代码中,User.order(:first_name)
返回的是一个 ActiveRecord::Relation 的对象,但是它还是可以调用User#page
具体原因不清楚,但最简单的实现就是在实例化 ActiveRecord::Relation 的时候把 User 传进去,然后如果在 ActiveRecord::Relation 里面找不到对应的 scope 或者方法,就让 User 类代为处理
@JeskTop 了解,我也没好好看文档 (>_<)
@JeskTop 不知道这样可不可以:
假设你的 user 有 is_admin?方法,在你的 ability.rb 里:
can :read, Product
if user.is_admin? can :manage, Product end
在你的 ProductController 里只要加上 load_and_authorize_resource
应该就可以实现你的要求了吧
@fsword, 是我预设了使用的前提了
@lin_style, 没看懂你的 sql,你要怎么指定 limit 的数据?
不过如果说子查询,你可以用 squeel(https://github.com/ernie/squeel), 它可以直接在 where 里面写子查询
或者把子查询拆成两个 sql,通常我的第一个 sql 都只会返回 id 数组,这样可以保证 rails 不会创建大量的 object
我们公司大概有 10 来个项目,重复的代码基本放在 gem 里,所以直接可以不用 submodule @fsword,能说说用 submodule 的场景么?
同感,基本 rails 3 之后就没用过 submodule 了,不过我记得不用添加特意在 gitignore 里面写的啊
不知各位如何加载 resque_web 的静态文件? 我们现在是这样:
run "ln -s #{shared_path}/bundle/ruby/1.8/gems/resque-1.17.1/lib/resque/server/public #{release_path}/public/resque"
但是我很不爽它需要指定 resque 的版本和 gem 的位置
Update: 刚刚在 Github 上面找到相关的 ISSUE,看来是和 nginx 的设置有关: https://github.com/defunkt/resque/issues/418
嗯,有可能,我们也是 4 月初开始用的
1.8 用 ruby-debug, 1.9 用 debugger,其实都一样; pry 好像要多加一个 gem 才能放 break point 吧?
@Zernel,我们现在就在用 rails 3.2 + bootstrap-sass, 没什么问题啊
多谢二楼,又学到了些新东西
@vkill, 如果是这样的话,把你要改的 gem fork 到自己的帐号下,然后在 Gemfile 里面指到你自己的 repository 会不会更好一点?
毕竟放在 vendor/plugins 的话,要不就是要把这些代码加入 main project,要不就是要用 git submodule,管理起来总归不如 Gemfile 方便呢
现在大部分的 2.3 plug-in 应该有 Gem 的版本了吧
例如 prownto,原作者的 master branch 两年没更新,但是可以找到有人 fork 了这个 project,把它改为 3.1 以上可用了
如果没有,应该可以找到相同功能的替代品,如 Kaminari 之于 will-paginate
而如果是你们公司内部的 plugins,把他们改写成 Gem 也不会花很多时间
和 Janus 比起来有什么区别吗?
Nice,很好奇他们怎么用 SSH 来 pair programming 的
@fredwu 有去 RailsCamp 么?
Mac, 自从买了 Mac 之后就一直没怎么用 Windows
@xds2000,嗯,似乎是一个 bug?
我买了,当时是第一个月$1:)
现在那里有 7 个课程吧,2 个 JQuery(基础 + 进阶),3 个 rails 的(2 x 基础,1 x 进阶),1 个 ruby,1 个 HTML5+CSS3。其中下面的课程是免费的(基本都是基础课程): - JQuery Air - Rails for Zombie ( rails 3 入门课程) - Try Ruby
具体可以看这个链接: http://www.codeschool.com/courses
我自己是看完了 Rails Best Practices,这算是 Code School 里面唯一一个进阶教程,视频的质量很好,练习也设定得不错,自我感觉是学到了很多有用的技巧,挺适合中等程度的 Rails Devs;