Rails

  • 当调用 renderredirect_to 后需要马上”返回”时,把 return 放到下一行, 不要放到同一行。
    [link]

    1. # 错误
    2. render :text => 'Howdy' and return
    3. # 正确
    4. render :text => 'Howdy'
    5. return
    6. # still bad
    7. render :text => 'Howdy' and return if foo.present?
    8. # 正确
    9. if foo.present?
    10. render :text => 'Howdy'
    11. return
    12. end

范围 (Scopes)

  • 当定义 ActiveRecord 的模型 scopes 时, 把内容用大括号包起来。
    如果不包的话, 在载入这个 class 时就会被强迫连接数据库。
    [link]

    1. # 错误
    2. scope :foo, where(:bar => 1)
    3. # 正确
    4. scope :foo, -> { where(:bar => 1) }