Rescue from ActionController::UnpermittedParameters
I'm trying to handle ActionController::UnpermittedParameters
.
I've defined a block in ApplicationController
rescue_from ActionController::UnpermittedParameters do |error|
message = "Invalid parameter: %s. " % error.params.to_sentence
message << 'Please verify that the parameter name is valid and the values are the correct type.'
format.html { redirect_to :back, alert: 'You passed wrong params! ' + message }
end
But, when I execute code, which should be handled, the rescue block is not executed.
What am I doing wrong?
ruby-on-rails exception try-catch
add a comment |
I'm trying to handle ActionController::UnpermittedParameters
.
I've defined a block in ApplicationController
rescue_from ActionController::UnpermittedParameters do |error|
message = "Invalid parameter: %s. " % error.params.to_sentence
message << 'Please verify that the parameter name is valid and the values are the correct type.'
format.html { redirect_to :back, alert: 'You passed wrong params! ' + message }
end
But, when I execute code, which should be handled, the rescue block is not executed.
What am I doing wrong?
ruby-on-rails exception try-catch
add a comment |
I'm trying to handle ActionController::UnpermittedParameters
.
I've defined a block in ApplicationController
rescue_from ActionController::UnpermittedParameters do |error|
message = "Invalid parameter: %s. " % error.params.to_sentence
message << 'Please verify that the parameter name is valid and the values are the correct type.'
format.html { redirect_to :back, alert: 'You passed wrong params! ' + message }
end
But, when I execute code, which should be handled, the rescue block is not executed.
What am I doing wrong?
ruby-on-rails exception try-catch
I'm trying to handle ActionController::UnpermittedParameters
.
I've defined a block in ApplicationController
rescue_from ActionController::UnpermittedParameters do |error|
message = "Invalid parameter: %s. " % error.params.to_sentence
message << 'Please verify that the parameter name is valid and the values are the correct type.'
format.html { redirect_to :back, alert: 'You passed wrong params! ' + message }
end
But, when I execute code, which should be handled, the rescue block is not executed.
What am I doing wrong?
ruby-on-rails exception try-catch
ruby-on-rails exception try-catch
asked Nov 21 '18 at 12:58
Jan KrupaJan Krupa
138111
138111
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
I guess your request is not of HTML format, so format.html { }
block will not be executed.
Try to leave only redirect_to :back, alert: 'You passed wrong params! ' + message
part
Even If I remove redirect_to block, and try to invoke some error, the block is still not executed.
– Jan Krupa
Nov 22 '18 at 6:21
add a comment |
I don't know what was wrong about my question, but I write my own ErrorHandler module, which works fine now.
# Error module to Handle errors globally
# include Error::ErrorHandler in application_controller.rb
module Error
module ErrorHandler
def self.included(klass)
klass.class_eval do
rescue_from ActionController::UnpermittedParameters, with: :unpermitted_parameter
end
end
private
def unpermitted_parameter(error)
message = "You have entered an unpermitted parameter: %s. " % error.params.to_sentence
message << 'Please verify that the parameter name is valid and the values are the correct type.'
Rails.logger.info(Rainbow(" !!! UNPERMITTED: !!! #{error.to_s}").fg(:red))
respond_to do |format|
format.html { redirect_back fallback_location: { action: "index" },
:alert => message }
format.js
end
end
end
end
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53412572%2frescue-from-actioncontrollerunpermittedparameters%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
I guess your request is not of HTML format, so format.html { }
block will not be executed.
Try to leave only redirect_to :back, alert: 'You passed wrong params! ' + message
part
Even If I remove redirect_to block, and try to invoke some error, the block is still not executed.
– Jan Krupa
Nov 22 '18 at 6:21
add a comment |
I guess your request is not of HTML format, so format.html { }
block will not be executed.
Try to leave only redirect_to :back, alert: 'You passed wrong params! ' + message
part
Even If I remove redirect_to block, and try to invoke some error, the block is still not executed.
– Jan Krupa
Nov 22 '18 at 6:21
add a comment |
I guess your request is not of HTML format, so format.html { }
block will not be executed.
Try to leave only redirect_to :back, alert: 'You passed wrong params! ' + message
part
I guess your request is not of HTML format, so format.html { }
block will not be executed.
Try to leave only redirect_to :back, alert: 'You passed wrong params! ' + message
part
answered Nov 21 '18 at 14:10
Alexey SuslyakovAlexey Suslyakov
4521514
4521514
Even If I remove redirect_to block, and try to invoke some error, the block is still not executed.
– Jan Krupa
Nov 22 '18 at 6:21
add a comment |
Even If I remove redirect_to block, and try to invoke some error, the block is still not executed.
– Jan Krupa
Nov 22 '18 at 6:21
Even If I remove redirect_to block, and try to invoke some error, the block is still not executed.
– Jan Krupa
Nov 22 '18 at 6:21
Even If I remove redirect_to block, and try to invoke some error, the block is still not executed.
– Jan Krupa
Nov 22 '18 at 6:21
add a comment |
I don't know what was wrong about my question, but I write my own ErrorHandler module, which works fine now.
# Error module to Handle errors globally
# include Error::ErrorHandler in application_controller.rb
module Error
module ErrorHandler
def self.included(klass)
klass.class_eval do
rescue_from ActionController::UnpermittedParameters, with: :unpermitted_parameter
end
end
private
def unpermitted_parameter(error)
message = "You have entered an unpermitted parameter: %s. " % error.params.to_sentence
message << 'Please verify that the parameter name is valid and the values are the correct type.'
Rails.logger.info(Rainbow(" !!! UNPERMITTED: !!! #{error.to_s}").fg(:red))
respond_to do |format|
format.html { redirect_back fallback_location: { action: "index" },
:alert => message }
format.js
end
end
end
end
add a comment |
I don't know what was wrong about my question, but I write my own ErrorHandler module, which works fine now.
# Error module to Handle errors globally
# include Error::ErrorHandler in application_controller.rb
module Error
module ErrorHandler
def self.included(klass)
klass.class_eval do
rescue_from ActionController::UnpermittedParameters, with: :unpermitted_parameter
end
end
private
def unpermitted_parameter(error)
message = "You have entered an unpermitted parameter: %s. " % error.params.to_sentence
message << 'Please verify that the parameter name is valid and the values are the correct type.'
Rails.logger.info(Rainbow(" !!! UNPERMITTED: !!! #{error.to_s}").fg(:red))
respond_to do |format|
format.html { redirect_back fallback_location: { action: "index" },
:alert => message }
format.js
end
end
end
end
add a comment |
I don't know what was wrong about my question, but I write my own ErrorHandler module, which works fine now.
# Error module to Handle errors globally
# include Error::ErrorHandler in application_controller.rb
module Error
module ErrorHandler
def self.included(klass)
klass.class_eval do
rescue_from ActionController::UnpermittedParameters, with: :unpermitted_parameter
end
end
private
def unpermitted_parameter(error)
message = "You have entered an unpermitted parameter: %s. " % error.params.to_sentence
message << 'Please verify that the parameter name is valid and the values are the correct type.'
Rails.logger.info(Rainbow(" !!! UNPERMITTED: !!! #{error.to_s}").fg(:red))
respond_to do |format|
format.html { redirect_back fallback_location: { action: "index" },
:alert => message }
format.js
end
end
end
end
I don't know what was wrong about my question, but I write my own ErrorHandler module, which works fine now.
# Error module to Handle errors globally
# include Error::ErrorHandler in application_controller.rb
module Error
module ErrorHandler
def self.included(klass)
klass.class_eval do
rescue_from ActionController::UnpermittedParameters, with: :unpermitted_parameter
end
end
private
def unpermitted_parameter(error)
message = "You have entered an unpermitted parameter: %s. " % error.params.to_sentence
message << 'Please verify that the parameter name is valid and the values are the correct type.'
Rails.logger.info(Rainbow(" !!! UNPERMITTED: !!! #{error.to_s}").fg(:red))
respond_to do |format|
format.html { redirect_back fallback_location: { action: "index" },
:alert => message }
format.js
end
end
end
end
answered Nov 22 '18 at 8:17
Jan KrupaJan Krupa
138111
138111
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53412572%2frescue-from-actioncontrollerunpermittedparameters%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown