Support for Rails ActionableError#465
Merged
RobinDaugherty merged 5 commits intoBetterErrors:masterfrom May 14, 2020
Merged
Conversation
This adds support for actionable exceptions in Rails. For example, when a migration needs to be run it'll offer a button that can run the migrations for the user.
|
i will check this out when i have some time! |
and include an element around the action forms, and move the use of ActionDispatch out of the template.
These look good when output to the console, but double-newlines make the exception harder to read in BE and push any action buttons further down.
This is purely for BE development.
Member
|
Thank you @connorshea! I've made some changes to support non-Rails scenarios, I've added specs to cover the functionality, and I made some slight changes to the layout. Here's what it looks like now: I'll merge this once as soon as the specs pass. |
Contributor
Author
|
🎉 great, thanks @RobinDaugherty! |
connorshea
commented
May 14, 2020
Co-authored-by: Connor Shea <connor.james.shea@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Fixes #443, fixes #455.
This adds support for actionable exceptions in Rails. For example, when a migration needs to be run it'll offer a button that can run the migrations for the user.
Original Actionable Errors PR in Rails: rails/rails#34788
This is what the original PR uses to create the button:
ActionView Helpers aren't loaded in the better errors view, so I instead opted to recreate the form myself using mostly the same variables. It's not a beautiful solution, but it works and I'm not sure if there's really a better way to work around that problem.
The button looks like this:
It's hidden from the user behind the overflow, so it only shows up on hover. We could probably make it more obvious, but I'm not sure how exactly we should do it.
Reproduction steps:
gem 'better_errors', git: 'https://github.com/connorshea/better_errors.git', branch: 'actionable-errors')rails sor whatever your equivalent is for your app.rails g migration AddFooToBarin your terminalPendingMigrationErrorWe'll also want to make sure better_errors still works on versions before Rails 6 that don't have actionable errors, and I guess add a test to better_errors for this behavior?