| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\
| |
| |
| |
| |
| |
| | |
Callable route constraint verification
Conflicts:
actionpack/CHANGELOG.md
|
| |
| |
| |
| | |
silently failing to enforce the constraint
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since `:shallow` may be set at any point in the resource nesting we should
only make the new and collection routes shallow when the parent is shallow.
This is a bit of a hack but until the mapper is refactored to an object graph
instead of a hash of merged values it's the best we can do.
Fixes #14684.
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
THe match documentation doesn't mention any requirement of the
parameter name requirement for matches. However, including a
bare glob character without a variable assignment causes a
parse error.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The method `shallow?` returns false if the parent resource is a singleton so
we need to check if we're not inside a nested scope before copying the :path
and :as options to their shallow equivalents.
Fixes #14388.
|
| | |
| | |
| | |
| | |
| | |
| | | |
If the options :shallow_prefix and :shallow_path are not set in the
scope options then copy them from the normal :as and :path options
if they are set.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If a developer has specified either :path or :as in the options hash then
these should be used as the defaults for :shallow_path and :shallow_prefix.
Fixes #14241.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
By tracking the depth of resource nesting we can push the need for nested
shallow scoping to only those routes that are nested more than one deep.
This allows us to keep the fix for #12498 and fix the regression in #14224.
Fixes #14224.
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
Originally with_scope_level was exclusively for managing scope levels with
resources, however it is now used for other things so it makes more sense
to move the responsibility for setting the :scope_level_resource to the
resource_scope method. This eliminates repeatedly setting it to the same
resource as each resource method scope is evaluated.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If we set :shallow_path when shallow is called it can result in incorrect
paths if the resource is inside a namespace because namespace itself sets
the :shallow_path option to the namespace path.
We fix this by removing the :shallow_path option from shallow as that should
only be turning shallow routes on and not otherwise affecting the scope.
To do this we need to treat the :shallow option to resources differently to
other scope options and move it to before the nested block is called.
This change also has the positive side effect of making the behavior of the
:shallow option consistent with the shallow method.
Fixes #12498.
|
| |
| |
| |
| | |
Fixes #13824
|
| | |
|
| | |
|
| |
| |
| |
| | |
Fixes #12777
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When a route is mounted inside a resources block, it's automatically
prefixed, so a following code:
resources :users do
mount Blog::Engine => '/blog'
end
will generate a user_blog path helper.
In order to access engine helpers, we also use "mounted_helpers", a list
of helpers associated with each mounted engine, so a path to blog's post
can be generated using user_blog.post_path(user, post).
The problem I'm fixing here is that mount used a raw :as option, without
taking nestings into account. As a result, blog was added to a route set
as a `user_blog`, but helper was generated for just `blog`.
This commit applies the proper logic for defining a helper for a mounted
engine nested in resources or resource block.
(closes #8533)
|
|\ \
| | |
| | |
| | |
| | |
| | | |
Conflicts:
activesupport/lib/active_support/core_ext/hash/deep_merge.rb
activesupport/lib/active_support/core_ext/hash/keys.rb
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
According to our guideline, we leave 1 space between `#` and `=>`, so we
want `# =>` instead of `#=>`.
Thanks to @fxn for the suggestion.
[ci skip]
|
| | |
| | |
| | |
| | | |
Only set the value once after it's calculated.
|
| | | |
|
| | | |
|
| | | |
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| | |
These errors occur when, there routes are wrongly defined.
example, the following line would cause a missing :action error
root "welcomeindex"
Mostly beginners are expected to hit these errors, so lets improve the error message a bit to make their learning experience bit better.
|
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit ab5cd54b7e791f8419f689d1bef5394890268a6f, reversing
changes made to cdc10c898d4865302740340eedec4f5f4ca76565.
Reason: This way of defining root path is still supported. See
https://github.com/rails/rails/blob/d262773ab7f0aae5de2d354ac2eca168e95b653d/actionpack/test/controller/routing_test.rb#L450-457
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | | |
The documentation in this section is referring to a profile,
so the resource that's created should probably also be a
profile of some sort.
|
| |/
| |
| |
| |
| |
| | |
The docs refference a blacklist, but really what's being described
is a whitelist. Anything that matches the constraint gets through to
the path.
|
| | |
|
|/
|
|
|
|
|
|
| |
This piece of documentation is out of date.
The use of match without any via option is prevented, now
the HTTP verbs have to be explicitly set. If they're not set then
the error message in normalize_conditions! (around line 186) is
shown.
|
|
|
|
|
|
|
|
|
| |
Merge `:action` from routing scope and assign endpoint if both `:controller`
and `:action` are present. The endpoint assignment only occurs if there is
no `:to` present in the options hash so should only affect routes using the
shorthand syntax (i.e. endpoint is inferred from the the path).
Fixes #9856
|
| |
|
| |
|
| |
|
|
|
|
| |
It'd be a nice convention to mark the unused variables like this, now that Ruby 2 will issue no warnings for such vars being unused.
|
|
|
|
| |
mapper) and adding a constant for all the possible scopes.
|
|\
| |
| | |
routing bugfixes when matching multiple paths
|
| |
| |
| |
| |
| |
| | |
Closes #9913.
We need to expand the match shorthand syntax for every path.
|
| |
| |
| |
| |
| |
| | |
This problem was introduced with:
https://github.com/rails/rails/commit/d03aa104e069be4e301efa8cefb90a2a785a7bff
|
|/
|
|
|
|
|
| |
Closes #10071
`#normalize_path!` depends on the options so we need to call
`#normalize_options!` first to make sure everything is set correctly.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Closes #9466.
Passing `format: true` used to override the constraints: { format: /json/ }
with `/.+/`. This patch only sets the format if there is no constraint present.
|
|
|
|
| |
Closes #9432.
|
| |
|
|
|
|
|
|
|
|
| |
Closes #7554.
This patch determines the `controller#action` directly
in the `match` method when the shorthand syntax is used.
this prevents problems with namespaces and scopes.
|
| |
|