1. 04 12月, 2013 1 次提交
  2. 03 12月, 2013 2 次提交
  3. 30 11月, 2013 2 次提交
  4. 29 11月, 2013 3 次提交
  5. 27 11月, 2013 1 次提交
  6. 26 11月, 2013 5 次提交
  7. 23 11月, 2013 1 次提交
  8. 22 11月, 2013 1 次提交
  9. 21 11月, 2013 1 次提交
    • J
      Fix ActiveRecord::Relation#unscope · 64b9e93b
      Jon Leighton 提交于
      I'm pretty confused about the addition of this method. The documentation
      says that it was intended to allow the removal of values from the
      default scope (in contrast to #except). However it behaves exactly the
      same as except: https://gist.github.com/jonleighton/7537008 (other than
      having a slightly enhanced syntax).
      
      The removal of the default scope is allowed by
      94924dc3, which was not a change we
      could make until 4.1 due to the need to deprecate things. However after
      that change #unscope still gives us nothing that #except doesn't already
      give us.
      
      However there *is* a desire to be able to unscope stuff in a way that
      persists across merges, which would allow associations to be defined
      which unscope stuff from the default scope of the associated model. E.g.
      
        has_many :comments, -> { unscope where: :trashed }
      
      So that's what this change implements. I've also corrected the
      documentation. I removed the guide references to #except as I think
      unscope really supercedes #except now.
      
      While we're here, there's also a potential desire to be able to write
      this:
      
        has_many :comments, -> { unscoped }
      
      However, it doesn't make sense and would not be straightforward to
      implement. While with #unscope we're specifying exactly what we want to
      be removed from the relation, with "unscoped" we're just saying that we
      want it to not have some things which were added earlier on by the
      default scope. However in the case of an association, we surely don't
      want *all* conditions to be removed, otherwise the above would just
      become "SELECT * FROM comments" with no foreign key constraint.
      
      To make the above work, we'd have to somehow tag the relation values
      which get added when evaluating the default scope in order to
      differentiate them from other relation values. Which is way too much
      complexity and therefore not worth it when most use cases can be
      satisfied with unscope.
      
      Closes #10643, #11061.
      64b9e93b
  10. 20 11月, 2013 1 次提交
    • Y
      use arel nodes to represent non-string `order_values`. · f83c9b10
      Yves Senn 提交于
      This fixes a bug when merging relations of different classes.
      
      ```
      Given:
        Post.joins(:author).merge(Author.order(name: :desc)).to_sql
      
      Before:
       SELECT "posts".* FROM "posts"
         INNER JOIN "authors" ON "authors"."id" = "posts"."author_id"
         ORDER BY "posts"."name" DESC
      
      After:
       SELECT "posts".* FROM "posts"
         INNER JOIN "authors" ON "authors"."id" = "posts"."author_id"
         ORDER BY "authors"."name" DESC
      ```
      f83c9b10
  11. 19 11月, 2013 1 次提交
  12. 17 11月, 2013 1 次提交
  13. 15 11月, 2013 2 次提交
  14. 13 11月, 2013 1 次提交
  15. 12 11月, 2013 1 次提交
  16. 11 11月, 2013 4 次提交
  17. 10 11月, 2013 1 次提交
  18. 09 11月, 2013 1 次提交
    • Y
      log bind variables after they were type casted. · 97f0d9a0
      Yves Senn 提交于
      The log output used to be confusing in situation where type casting has
      "unexpected" effects. For example when finding records with a `String`.
      
      BEFORE:
      
      irb(main):002:0> Event.find("im-no-integer")
      D, [2013-11-09T11:10:28.998857 #1706] DEBUG -- :   Event Load (4.5ms)  SELECT "events".* FROM "events" WHERE "events"."id" = $1 LIMIT 1  [["id", "im-no-integer"]]
      
      AFTER:
      
      irb(main):002:0> Event.find("im-no-integer")
      D, [2013-11-09T11:10:28.998857 #1706] DEBUG -- :   Event Load (4.5ms)  SELECT "events".* FROM "events" WHERE "events"."id" = $1 LIMIT 1  [["id", 0]]
      97f0d9a0
  19. 07 11月, 2013 2 次提交
  20. 04 11月, 2013 1 次提交
  21. 03 11月, 2013 6 次提交
  22. 02 11月, 2013 1 次提交