---
title: "User Feedback"
description: "Learn more about collecting user feedback when an event occurs. Sentry pairs the feedback with the original event, giving you additional insight into issues."
url: https://docs.sentry.io/platforms/ruby/guides/rails/user-feedback/
---

# Set Up User Feedback | Sentry for Rails

When a user experiences an error, Sentry provides the ability to collect additional feedback. You can collect feedback according to the method supported by the SDK.

## [Crash-Report Modal](https://docs.sentry.io/platforms/ruby/guides/rails/user-feedback.md#crash-report-modal)

Our embeddable, JavaScript-based, Crash-Report modal is useful when you would typically render a plain error page (the classic `500.html`) on your website.

To collect feedback, the Crash-Report modal requests and collects the user's name, email address, and a description of what occurred. When feedback is provided, Sentry pairs the feedback with the original event, giving you additional insights into issues.

The screenshot below provides an example of the Crash-Report modal, though yours may differ depending on your customization:

### [Integration](https://docs.sentry.io/platforms/ruby/guides/rails/user-feedback.md#integration)

The modal authenticates with your public DSN, then passes in the Event ID that was generated on your backend.

In Rails, being able to serve dynamic (for example, `.html.erb`) pages in response to errors is required to pass the needed `event_id` to the JavaScript SDK. Typically, this is done by overwriting the `config.exceptions_app` setting to point to your own router, and then calling your own controller to handle the error. You can find more detailed instructions for this configuration online or install a gem to handle this for you.

Once you're able to serve dynamic exception pages, you can support user feedback.

Make sure you've got the JavaScript SDK available:

```ERB
<script
  src="https://browser.sentry-cdn.com/10.48.0/bundle.min.js"
  integrity="sha384-YZaJWnCk9RrFZW/2q6MPHXRwQgjLK3j3/UKrduKYe3mnHTAKDY93DFX8zvVWBt8u"
  crossorigin="anonymous"
></script>
```

Additionally, you need the template that brings up the dialog:

```ERB
<% sentry_id = request.env["sentry.error_event_id"] %>
<% if sentry_id.present? %>
<script>
  Sentry.init({ dsn: "___PUBLIC_DSN___" });
  Sentry.showReportDialog({ eventId: "<%= sentry_id %>" });
</script>
<% end %>
```

## [User Feedback API](https://docs.sentry.io/platforms/ruby/guides/rails/user-feedback.md#user-feedback-api)

If you'd prefer an alternative to the modal or do not have a JavaScript frontend, you can use the [User Feedback API](https://docs.sentry.io/api/projects/submit-user-feedback.md).

## Pages in this section

- [Configuration](https://docs.sentry.io/platforms/ruby/guides/rails/user-feedback/configuration.md)
