Rescue from ActionController::UnpermittedParameters












1















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.



enter image description here



What am I doing wrong?










share|improve this question



























    1















    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.



    enter image description here



    What am I doing wrong?










    share|improve this question

























      1












      1








      1








      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.



      enter image description here



      What am I doing wrong?










      share|improve this question














      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.



      enter image description here



      What am I doing wrong?







      ruby-on-rails exception try-catch






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 21 '18 at 12:58









      Jan KrupaJan Krupa

      138111




      138111
























          2 Answers
          2






          active

          oldest

          votes


















          1














          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






          share|improve this answer
























          • 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



















          0














          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





          share|improve this answer























            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
            });


            }
            });














            draft saved

            draft discarded


















            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









            1














            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






            share|improve this answer
























            • 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
















            1














            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






            share|improve this answer
























            • 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














            1












            1








            1







            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






            share|improve this answer













            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







            share|improve this answer












            share|improve this answer



            share|improve this answer










            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



















            • 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













            0














            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





            share|improve this answer




























              0














              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





              share|improve this answer


























                0












                0








                0







                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





                share|improve this answer













                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






                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 22 '18 at 8:17









                Jan KrupaJan Krupa

                138111




                138111






























                    draft saved

                    draft discarded




















































                    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.




                    draft saved


                    draft discarded














                    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





















































                    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







                    Popular posts from this blog

                    Create new schema in PostgreSQL using DBeaver

                    Deepest pit of an array with Javascript: test on Codility

                    Costa Masnaga