crontab 是怎么写的?sh 跟 bash 是不同的。
Turbolinks 向导
http://blog.chloerei.com/articles/48-turbolinks-guide
这是总集篇,包含了之前的所有实践总结,估计我近期不需要再写 Turbolinks 了。
可能你 sudo 环境用的 gem 和用户环境的 gem 不是一个,比如 sudo 用的是系统 gem,用户环境的是 rvm 安装的 gem。
这得好好看书或文档了。
attr_accessor 才是定义 getter setter。
先要注意 model 是基于什么 ORM 的,Mongoid 用 field 声明字段,ActiveRecord 不用在 modle 声明字段。attr_accessible 是 ActiveModle 提供的类宏,用来做安全过滤。
#11 楼 @goinaction %W( ) 是个数组,直接传给方法是一个数组参数,加 * 将数组展开作为多个参数传入。
#4 楼 @blacktulip 不要轻易露出 html_safe 和 raw
http://ruby-china.org/topics/12008?page=1
没贴代码之前我认为代码没写好的可能性更大,partial 我一向正常用,该用就用。
我想了想,一个 update 接口的话在发布 api 的时候有好处。做成校验的话大概是这样
validates :xxx, length: { maximum: aaa }, :if => :role_admin?
validates :xxx, length: { maximum: bbb }, :if => :role_editor?
attr_accessor :update_role
def role_admin?
update_role == :admin
end
def role_editor?
update_role == :editor
end
在 controller 调用的时候
some_object.update_attributes object_params.merge(:update_role => current_user.role_for(@project))
区分不同的 action。model 加太多校验后续加功能的时候会变成负担。更分层一点可以做些中间操作对象。
在 controller 里面的逻辑写 controller test
#4 楼 @loveltyoic 可以把 params
这个参数传给 url helper,例如
search_path(params.merge :new_colun => 'value')
得出当前查询条件再加上新条件的地址。
或者放在 js 做,这样查询条件区域可以缓存起来。
数据量大了上搜索引擎,搜索引擎消耗也太大就把搜索结果按查询条件缓存。
一般做法是在当前查询条件上再加查询条件,服务端根据新的条件再查一次
男女搭配干活不累,但我觉得这个不要低俗化,拍张男女平衡朝气蓬勃的合照就好了。
肯定是男孩子。
跟着书学,社区 wiki 更新并不及时。
是 to_json 处理。
试试
get do
User.find(...).to_json(:methods => [:name])
end
我没用过 Grape,不知道是否正确。
MySQL 的 in 查询也不行,即使加了索引。所以这个问题最后要用 cache 解决。
不过我也没做过严谨测试。
#3 楼 @cameo 奥,我搞错了,counter 是这个 https://github.com/nateware/redis-objects
unique 是指针对哪个条件?