| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|\ \ \
| | | |
| | | | |
A typo fix and a small clarification on `autoload_paths`
|
| | | | |
|
| |/ /
|/| |
| | |
| | | |
Fixes #18787.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
`attributes_to_define_after_schema_loads` better describes the
difference between `attribute` and `define_attribute`, and doesn't
conflate terms since we no longer differentiate between "user provided"
and "schema provided" types.
|
|/ /
| |
| |
| |
| | |
Now that type casting has nothing to do with columns, our only usage of
this method is gone.
|
|\ \
| | |
| | | |
Fix typo in Time#change docs
|
|/ / |
|
|\ \
| | |
| | |
| | |
| | | |
eileencodes/fix-validates-on-associated-record-if-parent-is-validate-false
Fix validations on child record when record parent has validate: false
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes #17621. This 5 year old (or older) issue causes validations to fire
when a parent record has `validate: false` option and a child record is
saved. It's not the responsibility of the model to validate an
associated object unless the object was created or modified by the
parent.
Clean up tests related to validations
`assert_nothing_raised` is not benefiting us in these tests
Corrected spelling of "respects"
It's better to use `assert_not_operator` over `assert !r.valid`
|
| |
| |
| |
| |
| | |
The commit 3b63780 re-introduced url helper caching but we need to
cache a separate module for Action Mailer without paths.
|
|\ \
| | |
| | | |
Cache `url_helpers`
|
| | |
| | |
| | |
| | |
| | |
| | | |
`url_helpers` used to be memoized. This was lost in a refactoring and
this PR adds it back. We noticed this while investigating why
integration tests are slower than controller tests.
|
| | | |
|
| | |
| | |
| | |
| | | |
after_create callbacks (or any associations, which makes after_create callbacks for you)
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
the transaction object shouldn't know so much about active record
objects, so let's push the conditionals in to the instance.
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | | |
Add note about has_one :through and :dependent
|
| | | | |
|
|\ \ \ \
| |_|/ /
|/| | | |
Update queue_classic gem to use latest
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Remove '<3.0.0' requirement for queue_classic gem. This fixes the issue
that the gem was attempting to parse the queue name as a URI, causing
all of the tests to fail.
|
|\ \ \ \
| | | | |
| | | | | |
Pre-discard flash messages
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Inside a controller functional test after the last flash is deleted it
still persists the flash because to_session_value is nil. We should
delete it from the session when the serialized version is nil, same as
the flash middleware.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Show proper traces on Windows for the error pages
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This is an issue brought up by @daniel-rikowski in rails/web-console#91.
Citing his PR proposal here:
> Prior to this, backtrace lines were simply split by a single colon.
>
> Unfortunately that is also the drive letter delimiter in Windows paths
> which resulted in a lot of empty source fragments of "C:0". ("C" from
> the drive letter and 0 from "/path/to/rails/file.rb:16".to_i)
>
> Now the trace line is split by the first colon followed by some digits,
> which works for both Windows and Unix path styles.
Now, the PR was sent against web-console, because of the templates copy
issue we used to had. Instead of bothering the contributor to reopen the
issue against upstream Rails itself, I will make sure he gets the credit
by putting his name in [rails-contributors/hard_coded_authors.rb][].
[rails-contributors/hard_coded_authors.rb]: (https://github.com/fxn/rails-contributors/blob/master/app/models/names_manager/hard_coded_authors.rb).
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
* master:
Move required error message and changelog to Active Record
Use public Module#include, in favor of https://bugs.ruby-lang.org/issues/8846
Use Module#include instead of send :include, since now is a public method [ci skip]
:scissors: warning from controller renderer test
Conflicts:
activerecord/CHANGELOG.md
|
| | |_|_|/ /
| |/| | | |
| | | | | |
| | | | | |
| | | | | | |
The new association error belongs to Active Record, not Active Model.
See #18700 for reference.
|
| |\ \ \ \ \
| | |/ / / /
| |/| | | | |
:scissors: warning from controller renderer test
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
rails/actionpack/test/controller/renderer_test.rb:89: warning: possible reference to past scope - defaults
|
| |\ \ \ \ \
| | | | | | |
| | | | | | | |
Use public Module#include, in favor of https://bugs.ruby-lang.org/issues/8846
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
ref: https://github.com/rails/rails/pull/18763#issuecomment-72349769
|
| |\| | | | |
| | | | | | |
| | | | | | | |
Use Module#include instead of send :include, since Module#include is a public method [ci skip]
|
| |/ / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
[ci skip]
ref https://bugs.ruby-lang.org/issues/8846
|
|\ \ \ \ \ \
| |/ / / / /
|/| | | | | |
Fix n+1 query problem when eager loading nil associations (fixes #18312)
|
| |\ \ \ \ \
| |/ / / / /
|/| | | | |
| | | | | |
| | | | | | |
Conflicts:
activerecord/CHANGELOG.md
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
It's finally finished!!!!!!! The reason the Attributes API was kept
private in 4.2 was due to some publicly visible implementation details.
It was previously implemented by overloading `columns` and
`columns_hash`, to make them return column objects which were modified
with the attribute information.
This meant that those methods LIED! We didn't change the database
schema. We changed the attribute information on the class. That is
wrong! It should be the other way around, where schema loading just
calls the attributes API for you. And now it does!
Yes, this means that there is nothing that happens in automatic schema
loading that you couldn't manually do yourself. (There's still some
funky cases where we hit the connection adapter that I need to handle,
before we can turn off automatic schema detection entirely.)
There were a few weird test failures caused by this that had to be
fixed. The main source came from the fact that the attribute methods are
now defined in terms of `attribute_names`, which has a clause like
`return [] unless table_exists?`. I don't *think* this is an issue,
since the only place this caused failures were in a fake adapter which
didn't override `table_exists?`.
Additionally, there were a few cases where tests were failing because a
migration was run, but the model was not reloaded. I'm not sure why
these started failing from this change, I might need to clear an
additional cache in `reload_schema_from_cache`. Again, since this is not
normal usage, and it's expected that `reset_column_information` will be
called after the table is modified, I don't think it's a problem.
Still, test failures that were unrelated to the change are worrying, and
I need to dig into them further.
Finally, I spent a lot of time debugging issues with the mutex used in
`define_attribute_methods`. I think we can just remove that method
entirely, and define the attribute methods *manually* in the call to
`define_attribute`, which would simplify the code *tremendously*.
Ok. now to make this damn thing public, and work on moving it up to
Active Model.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
changed deleted_tables list to set
|
|/ / / / / / |
|
|\ \ \ \ \ \
| |_|/ / / /
|/| | | | | |
Fix STI for fixtures from multi-files
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
- Add check for not deleting previously created fixtures, to overcome sti fixtures from multiple files
- Added fixtures and fixtures test to verify the same
- Fixed wrong fixtures duplicating data insertion in same table
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This method doesn't need to be lazy, as it is never called from reads.
The only time it is called are in write cases, where we're about to loop
through the results of it, and build the attribute objects anyway. So we
don't gain anything by dodging the instantiation here. This is the only
method that coupled `AttributeSet` to `LazyAttributeHash`, so removing
it puts us back in a place where we can use a normal hash instead.
|
|\ \ \ \ \ \
| |_|_|_|/ /
|/| | | | | |
Provide a better error message on :required association
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Fixes #18696.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Add Single Table Inheritance to guides [ci skip]
|
| | | | | | | |
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Improving 'Customizing Form Builder' section with example [ci skip]
|
| | | | | | | | |
|