| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
Correct typos in "Active Record Query Interface" guide
|
|/ |
|
|\
| |
| | |
Do not create a hash key when calling ActiveModel::Errors#include?
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
From: https://github.com/rails/rails/issues/24279
Problem:
By doing `record.errors.include? :foo`, it adds a new key to the
@messages hash that defaults to an empty array.
This happens because of a combination of these 2 commits:
https://github.com/rails/rails/commit/b97035df64f5b2f912425c4a7fcb6e6bb3ddab8d
(Added in Rails 4.1)
and
https://github.com/rails/rails/commit/6ec8ba16d85d5feaccb993c9756c1edcbbf0ba13#diff-fdcf8b65b5fb954372c6fe1ddf284c78R76
(Rails 5.0)
By adding the default proc that returns an array for non-existing keys,
ruby adds that key to the hash.
Solution:
Change `#include?` to check with `has_key?` and then check if that value is
`present?`.
Add test case for ActiveModels::Errors#include?
|
|\ \
| | |
| | |
| | |
| | | |
Gaurav2728/remove_unused_set_in_action_view_template_type
set in no more used in ActionView::Template::Types
|
| | |
| | |
| | |
| | |
| | | |
initially set is used for template type https://github.com/rails/rails/commit/67f55e28
after this commit https://github.com/rails/rails/commit/91f2ad36 it’s not require
|
|\ \ \
| |/ /
|/| | |
Fix typo in Action Pack changelog [ci skip]
|
|/ / |
|
| |
| |
| |
| |
| |
| |
| | |
This reverts commit 43ccebc1db072ba0c96a67de0b3db78fd8fd0973.
This is not fixing the configuration problem since we are assigning to
the ActiveRecord::Base not the configuration. See #24303.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since precision is always larger than scale, it can actually change
rounding behavior. Given a precision of 5 and a scale of 3, when you
apply the precision of 5 to `1.25047`, the result is `1.2505`, which
when the scale is applied would be `1.251` instead of the expected
`1.250`.
This issue appears to only occur with floats, as scale doesn't apply to
other numeric types, and the bigdecimal constructor actually ignores
precision entirely when working with strings. There's no way we could
handle this for the "unknown object which responds to `to_d`" case, as
we can't assume an interface for applying the scale.
Fixes #24235
|
|\ \
| | |
| | | |
Move sequence value methods to Model level
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
`prefetch_primary_key?` and `next_sequence_value` methods live in the
connection level at the moment, that make sense when you are generating
the sequence from the database, in the same connection. Which is the use
case today at the Oracle and Postgres adapters.
However if you have an service that generates IDs, that has nothing to
do with the database connection, and should not be fetched from there.
Another use case, is if you want to use another connection to fetch IDs,
that would not be possible with the current implementation, however when
we move those methods to the model level, you can use a new connection
there.
Also this makes easier for gems to add behavior on those methods.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When a proc is given as a default value, the form builder ends up
displaying `Proc#to_s` when the default is used. That's because we
didn't handle the proc until type casting. This issue technically can
occur any time that a proc is the value before type casting, but in
reality the only place that will occur is when a proc default is
provided through the attributes API, so the best place to handle this
edge case is there.
I've opted to memoize instead of just moving the `Proc#call` up, as this
made me realize that it could potentially interact very poorly with
dirty checking.
The code here is a little redundant, but I don't want to rely on how
`value_before_type_cast` is implemented in the super class, even if it's
just an `attr_reader`.
Fixes #24249
Close #24306
|
|\ \ \
| | | |
| | | | |
Make 'migrate' clear the schema cache afterward
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Without clearing the caches afterward, removals done in migrations would
not be reflected in a separate task in the same process. That is, given
a table with a migration to remove a column, the schema cache would
still reflect that a table has that in something such as the
'db:seed' task:
`rake db:migrate db:seed`
(A common thing to do in a script for a project ala `bin/setup`)
vs
`rake db:migrate && rake db:seed`
(Two processes)
The first would not reflect that the column was removed.
The second would (cache reset).
|
|/ / / |
|
|\ \ \
| | | |
| | | | |
Fix a tip in Active Record time attributes deprecation
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
I have hit this deprecation in a newly created Rails 5 application and
the suggested tip lead me to a `NoMethodError`.
It's not trivial to actually make the following work, because of the
ActiveRecord::Base class attributes setting dance in the Active Record
railtie.
config.active_record.time_zone_aware_types << :time
Decided to suggest setting it explicitly to the values we need.
[ci skip]
|
|\ \ \
| | | |
| | | | |
Use Range#cover? for Date inclusion validator
|
| | | | |
|
| | | | |
|
|\ \ \ \
| |_|/ /
|/| | | |
Added missing custom context validation documentation
|
|/ / / |
|
|\ \ \
| |/ /
|/| | |
Change for `ActiveRecord::Migration.[]` to raise `ArgumentError` inst…
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| | |
`RuntimeError`
The error is raised because user passed invalid version number to a public api of
`ActiveRecord`, so `ArgumentError` is more suitable.
And add a test case checking if an error is raised when unknown migration version
is passed, because these test cases are not implemented.
|
|\ \
| |/
|/| |
Correctly generate application_mailer.rb in mountable engines
|
| |
| |
| |
| | |
- Followup of https://github.com/rails/rails/pull/24161.
|
|\ \
| | |
| | | |
fixed spelling in the mattr_reader documentation
|
| | |
| | |
| | | |
mattr_writer to mattr_reader
|
| | |
| | |
| | | |
renamed cattr_reader to mattr_reader
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
jeremy/implicit-render-raises-on-browser-GET-requests-only
Are you missing that template or did you omit it on purpose?
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
purpose?" heuristics
Narrows the "are you in a browser, viewing the page?" check to exclude
non-GET requests. Allows content-less APIs to use implicit responses
without having to set a fake request format.
This will need further attention. If you forget to redirect from a POST
to a GET, you'll get a 204 No Content response that browsers will
typically treat as… do nothing. It'll seem like the form just didn't
work and knowing where to start debugging is non-obvious.
On the flip side, redirecting from POST and others is the default, done
everywhere, so it's less likely to be removed or otherwise missed.
Alternatives are to do more explicit browser sniffing.
Ref #23827.
|
|\ \ \ \
| | | | |
| | | | | |
Cable: Gracefully handle disconnected clients
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
We'll get `Errno::ECONNRESET` if the client forcibly disconnected.
Just close the socket rather than raising the exception.
Handle other errors in `ClientSocket#write`, too, mirroring the Faye
error handling which swallows all `StandardError` on write.
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
kamipo/append_sql_mode_instead_of_overwriting_in_strict_mode
Append sql_mode instead of overwriting in strict mode
|
| | |_|_|/
| |/| | |
| | | | |
| | | | | |
For keep the default SQL mode.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Remove reference to unmaintained plugin/gem in Security guide
|
| | |_|_|/
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
[restful-authentication](https://rubygems.org/gems/restful-authentication/versions/1.2.1) hasn't been updated since
September 6th, 2012 so it might not be a great idea to recommend that Rails users try it out.
Devise seems like a much more popular and secure solution that automatically resets sessions on sign in and out
so it's a great example in this case.
/cc @tenderlove @josevalim
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
Bugfix: ActionCable not loaded when generating plugin without ActiveRecord
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When generating a plugin without ActiveRecord (-O),
ActionCable wasn't include, which causes problems with the
require action_cable statement in cable.js
add active_job require statement
also updated order of require statements to match with all.rb
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Didn't feel we were clear enough about our motivation for placing Rails first
and why we needed to call `load_plugins`.
|
| | | |
| | | |
| | | |
| | | | |
The useless explicit self calls were driving me nuts.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When calling `load_plugins` minitest would fill out its extensions, then
we'd tackle ourselves on as the last plugin. Because minitest loads plugins
in order we will ultimately have the last say on what reporters will be used.
Invert that strategy by putting ourselves first and give other plugins plenty
of leeway to override our default reporter setup.
Fixes #24179.
|
|\ \ \ \
| | | | |
| | | | | |
Use || instead of `or` in bin/(update|setup) tpl as preferred by rails code convention
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Fix WebSocket already open log message typo
|
| |/ / / / |
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
Fix typo for redirect_back (docs)
|
|/ / / /
| | | |
| | | |
| | | |
| | | | |
indetical -> identical
[skip ci]
|
|\ \ \ \
| | | | |
| | | | | |
Fixed abrupt start of sentence in changelog [ci skip]
|