1. 29 7月, 2013 1 次提交
  2. 22 7月, 2013 1 次提交
    • B
      Don't allow `quote_value` to be called without a column · 31a43ebc
      Ben Woosley 提交于
      Some adapters require column information to do their job properly.
      By enforcing the provision of the column for this internal method
      we ensure that those using adapters that require column information
      will always get the proper behavior.
      31a43ebc
  3. 10 5月, 2013 1 次提交
    • B
      Fix that #exists? can produce invalid SQL: "SELECT DISTINCT DISTINCT" · 15d6e4dc
      Ben Woosley 提交于
      The combination of a :uniq => true association and the #distinct call
      in #construct_limited_ids_condition combine to create invalid SQL, because
      we're explicitly selecting DISTINCT, and also sending #distinct on to AREL,
      via the relation#distinct_value.
      
      Rather than build a select distinct clause in #construct_limited_ids_condition,
      I set #distinct! and pass just the columns into the select statement.
      This requires introducing a #columns_for_distinct method to return the
      select columns but not the statement itself.
      15d6e4dc
  4. 02 5月, 2013 1 次提交
    • G
      Handle aliased attributes in ActiveRecord::Relation. · 54122067
      Godfrey Chan 提交于
      When using symbol keys, ActiveRecord will now translate aliased attribute names to the actual column name used in the database:
      
      With the model
      
        class Topic
          alias_attribute :heading, :title
        end
      
      The call
      
        Topic.where(heading: 'The First Topic')
      
      should yield the same result as
      
        Topic.where(title: 'The First Topic')
      
      This also applies to ActiveRecord::Relation::Calculations calls such as `Model.sum(:aliased)` and `Model.pluck(:aliased)`.
      
      This will not work with SQL fragment strings like `Model.sum('DISTINCT aliased')`.
      
      Github #7839
      
      *Godfrey Chan*
      54122067
  5. 27 4月, 2013 1 次提交
  6. 24 4月, 2013 1 次提交
  7. 15 3月, 2013 1 次提交
    • Y
      rename `Relation#uniq` to `Relation#distinct`. `#uniq` still works. · a1bb6c8b
      Yves Senn 提交于
      The similarity of `Relation#uniq` to `Array#uniq` is confusing. Since our
      Relation API is close to SQL terms I renamed `#uniq` to `#distinct`.
      
      There is no deprecation. `#uniq` and `#uniq!` are aliases and will continue
      to work. I also updated the documentation to promote the use of `#distinct`.
      a1bb6c8b
  8. 09 2月, 2013 1 次提交
  9. 08 2月, 2013 1 次提交
  10. 03 1月, 2013 1 次提交
  11. 14 11月, 2012 1 次提交
  12. 13 11月, 2012 1 次提交
  13. 09 9月, 2012 1 次提交
    • E
      Raise MissingAttributeError on query methods · 4f107da4
      Ernie Miller 提交于
      When calling a query method on an attribute that was not selected by
      an ActiveRecord query, an ActiveModel::MissingAttributeError is not
      raised. Instead, a nil value is returned, which will return false once
      cast to boolean.
      
      This is undesirable, as we should not give the impression that we know
      the attribute's boolean value when we haven't loaded the attribute's
      (possibly) non-boolean value from the database.
      
      This issue is present on versions going back as far as 2.3, at least.
      4f107da4
  14. 03 8月, 2012 1 次提交
    • J
      Remove ActiveRecord::Base.to_a · 55b24888
      Jon Leighton 提交于
      On reflection, it seems like a bit of a weird method to have on
      ActiveRecord::Base, and it shouldn't be needed most of the time anyway.
      55b24888
  15. 28 7月, 2012 2 次提交
  16. 27 7月, 2012 1 次提交
    • J
      ActiveRecord::Base.all returns a Relation. · 6a81ccd6
      Jon Leighton 提交于
      Previously it returned an Array.
      
      If you want an array, call e.g. `Post.to_a` rather than `Post.all`. This
      is more explicit.
      
      In most cases this should not break existing code, since
      Relations use method_missing to delegate unknown methods to #to_a
      anyway.
      6a81ccd6
  17. 25 6月, 2012 1 次提交
  18. 22 6月, 2012 1 次提交
  19. 19 6月, 2012 1 次提交
    • S
      Removing composed_of from ActiveRecord. · 14fc8b34
      Steve Klabnik 提交于
      This feature adds a lot of complication to ActiveRecord for dubious
      value. Let's talk about what it does currently:
      
      class Customer < ActiveRecord::Base
        composed_of :balance, :class_name => "Money", :mapping => %w(balance amount)
      end
      
      Instead, you can do something like this:
      
          def balance
            @balance ||= Money.new(value, currency)
          end
      
          def balance=(balance)
            self[:value] = balance.value
            self[:currency] = balance.currency
            @balance = balance
          end
      
      Since that's fairly easy code to write, and doesn't need anything
      extra from the framework, if you use composed_of today, you'll
      have to add accessors/mutators like that.
      
      Closes #1436
      Closes #2084
      Closes #3807
      14fc8b34
  20. 11 6月, 2012 3 次提交
  21. 06 6月, 2012 1 次提交
  22. 18 5月, 2012 2 次提交
  23. 11 5月, 2012 1 次提交
  24. 05 5月, 2012 1 次提交
  25. 03 5月, 2012 2 次提交
  26. 27 4月, 2012 7 次提交
  27. 26 4月, 2012 2 次提交
  28. 14 4月, 2012 1 次提交