- 27 11月, 2017 1 次提交
-
-
由 Anmol Chopra 提交于
Record saved in save_has_one_association already make call to association.loaded! via record's before_save callback of save_belongs_to_association, but this will reload object if accessed in record's validation.
-
- 09 11月, 2017 2 次提交
- 23 8月, 2017 1 次提交
-
-
由 Yasuo Honda 提交于
`:authors` has a foreign key to `:author_addresses`. If only `:authors` fixture loaded into the database which supports foreign key and checks the existing data when enabling foreien keys like Oracle, it raises the following error `ORA-02298: cannot validate (ARUNIT.FK_RAILS_94423A17A3) - parent keys not found` It is because there is no parent data exists in `author_addresses` table. Here are how other database with foreign key support works: - MySQL does not check the existing data when enabling foreign key by `foreign_key_checks=1` https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_foreign_key_checks > Setting foreign_key_checks to 1 does not trigger a scan of the existing table data. Therefore, rows added to the table while foreign_key_checks=0 will not be verified for consistency. - PostgreSQL database itself has a feature to check existing data when enabling foreign key and discussed at #27636, which is reverted.
-
- 22 8月, 2017 1 次提交
-
-
由 yui-knk 提交于
ActiveRecord associations automatically guess the inverse associations. But this feature does not work correctly on assoctions for STI. For example, before this commit ``` class Post < ActiveRecord::Base belongs_to :author end class SpecialPost < Post; end class Author < ActiveRecord::Base has_many :posts has_many :special_posts end ``` `author.posts.first.author` works correctly, but `author.special_posts.first.author` does not work correctly.
-
- 20 7月, 2017 1 次提交
-
-
由 Kir Shatrov 提交于
-
- 02 7月, 2017 2 次提交
-
-
由 Ryuta Kamizono 提交于
It is covered by following assertion.
-
由 Matthew Draper 提交于
This reverts commit 3420a145, reversing changes made to afb66a5a.
-
- 01 7月, 2017 1 次提交
-
-
由 Kir Shatrov 提交于
-
- 21 5月, 2017 1 次提交
-
-
由 Koichi ITO 提交于
-
- 20 4月, 2017 1 次提交
-
-
由 Fabian Schwahn 提交于
This makes automatic inverse detection possible for polymorphic :has_one & :has_many possible. This resolves a number of issues, eg. `touch: true` on polymorphic relationships (#16446) and automatically setting inverse associations on newly built objects (#15028, #21843).
-
- 18 1月, 2017 1 次提交
-
-
由 Akira Matsuda 提交于
These are followups for 307065f9, but TBH I'm personally not very much confortable with this style. Maybe we could override assert_equal in our test_helper not to warn?
-
- 31 8月, 2016 1 次提交
-
-
由 Sean Griffin 提交于
If a parent association was accessed in an `after_find` or `after_initialize` callback, it would always end up loading the association, and then immediately overwriting the association we just loaded. If this occurred in a way that the parent's `current_scope` was set to eager load the child, this would result in an infinite loop and eventually overflow the stack. For records that are created with `.new`, we have a mechanism to perform an action before the callbacks are run. I've introduced the same code path for records created with `instantiate`, and updated all code which sets inverse instances on newly loaded associations to use this block instead. Fixes #26320.
-
- 16 8月, 2016 1 次提交
-
-
由 Rafael Mendonça França 提交于
Style/SpaceBeforeBlockBraces Style/SpaceInsideBlockBraces Style/SpaceInsideHashLiteralBraces Fix all violations in the repository.
-
- 07 8月, 2016 3 次提交
-
-
由 Ryuta Kamizono 提交于
-
由 Xavier Noria 提交于
-
由 Xavier Noria 提交于
The current code base is not uniform. After some discussion, we have chosen to go with double quotes by default.
-
- 23 2月, 2016 1 次提交
-
-
- 25 10月, 2015 1 次提交
-
-
由 Sebastian McKenzie 提交于
-
- 27 9月, 2015 1 次提交
-
-
由 eileencodes 提交于
`inverse_of` on through associations was accidently removed/caused to stop working in commit f8d2899d which was part of a refactoring on `ThroughReflection`. To fix we moved `inverse_of` and `check_validity_of_inverse!` to the `AbstractReflection` so it's available to the `ThroughReflection` without having to dup any methods. We then need to delegate `inverse_name` method in `ThroughReflection`. `inverse_name` can't be moved to `AbstractReflection` without moving methods that set the instance variable `@automatic_inverse_of`. This adds a test that ensures that `inverse_of` on a `ThroughReflection` returns the correct class name, and the correct record for the inverse relationship. Fixes #21692
-
- 16 6月, 2014 1 次提交
-
-
由 Andrew McCloud 提交于
-
- 11 6月, 2014 1 次提交
-
-
由 Andrew S. Brown 提交于
use name specified by 'as' for automatic inverse association to avoid reflecting on wrong association
-
- 05 6月, 2014 1 次提交
-
-
由 Leandro Facchinetti 提交于
`InverseHasManyTests#test_parent_instance_should_be_shared_within_create_block_of_new_child` was mistakenly the same as `InverseHasManyTests#test_parent_instance_should_be_shared_within_build_block_of_new_child`.
-
- 14 10月, 2013 1 次提交
-
-
由 Dmitry Polushkin 提交于
check at association reader that record is inverted and should not be reloaded because of stale was changed at target record
-
- 05 10月, 2013 1 次提交
-
-
由 Arthur Neves 提交于
-
- 15 8月, 2013 1 次提交
-
-
由 wangjohn 提交于
Currently, ActiveRecord models with multiple words cannot have their inverse associations detected automatically.
-
- 13 8月, 2013 1 次提交
-
-
由 Rajarshi Das 提交于
-
- 22 6月, 2013 2 次提交
-
-
由 Neeraj Singh 提交于
currently `post.comments.find(Comment.first.id)` would load all comments for the given post to set the inverse association. This has a huge performance penalty. Because if post has 100k records and all these 100k records would be loaded in memory even though the comment id was supplied. Fix is to use in-memory records only if loaded? is true. Otherwise load the records using full sql. Fixes #10509
-
由 Neeraj Singh 提交于
PR https://github.com/rails/rails/pull/10566 had to be reverted because after applying the fix test "test_raise_record_not_found_error_when_invalid_ids_are_passed" started failing. In this test invalid_id is being assigned a really large number which was causing following failure when PR #10566 was applied. ``` RangeError: bignum too big to convert into `long long' SELECT `interests`.* FROM `interests` WHERE `interests`.`man_id` = ? AND `interests`.`id` = ? LIMIT 1 [["man_id", 970345987], ["id", 2394823094892348920348523452345]] ``` This test is not failing in master because when test code `man.interests.find(invalid_id)` is executed then interests are fully loaded in memory and no database query is executed. After PR #10566 was merged then test code `man.interests.find(invalid_id)` started executing sql query and hence the error. In case someone is wondering why the second part of query is not failing, then that's because the actual query does not require any variable substituation where the number is large. In that case the sql generate is following. ``` SELECT `interests`.* FROM `interests` WHERE `interests`.`man_id` = ? AND `interests`.`id` IN (8432342, 2390102913, 2453245234523452) [["man_id", 970345987]] ```
-
- 19 6月, 2013 2 次提交
-
-
由 Jon Leighton 提交于
This reverts commit 2b817a5e, reversing changes made to 353a398b. Conflicts: activerecord/CHANGELOG.md Reason: the build broke
-
由 Neeraj Singh 提交于
currently `post.comments.find(Comment.first.id)` would load all comments for the given post to set the inverse association. This has a huge performance penalty. Because if post has 100k records and all these 100k records would be loaded in memory even though the comment id was supplied. Fix is to use in-memory records only if loaded? is true. Otherwise load the records using full sql. Fixes #10509
-
- 08 5月, 2013 1 次提交
-
-
由 wangjohn 提交于
the results. Added tests to check to make sure that inverse associations are automatically found when has_many, has_one, or belongs_to associations are defined.
-
- 02 4月, 2013 2 次提交
- 01 4月, 2013 1 次提交
-
-
由 Michal Cichra 提交于
This fixes inconsistency when building children of association which has inverse_of set properly. When creating new association object with a block: parent.association.build do |child| child.parent.equal?(parent) # false end So the block the `child.parent` did not point to the same object. But when the object is created it points to same instance: child = parent.association.build child.parent.equal?(parent) # true
-
- 20 3月, 2013 1 次提交
-
-
由 wangjohn 提交于
if the association already holds that record in memory before checking the database for the specified ids.
-
- 02 11月, 2012 1 次提交
-
-
由 Carlos Antonio da Silva 提交于
When calling first(n) or last(n) in a collection, Active Record was improperly trying to set the inverse of instance in case that option existed. This change was introduced by fdf4eae5. In such cases we don't need to do that "manually", since the way collection will be loaded will already handle that, so we just skip setting the inverse association when any argument is given to first(n)/last(n). The test included ensures that these scenarios will have the inverse of instance set properly. Fixes #8087, Closes #8094. Squashed cherry-pick from d37d40b2 and c368b660. Conflicts: activerecord/CHANGELOG.md activerecord/lib/active_record/associations/collection_association.rb
-
- 18 8月, 2012 1 次提交
-
-
由 brainopia 提交于
-
- 28 7月, 2012 1 次提交
-
-
由 Jon Leighton 提交于
It doesn't serve much purpose now that ActiveRecord::Base.all returns a Relation. The code is moved to active_record_deprecated_finders.
-
- 27 4月, 2012 1 次提交
-
-
由 Jon Leighton 提交于
-