Your app.js.coffee:
```coffeescript
$ ->
for component in $('.web-component')
component = $(component)
class_name = component.data('class')
id = "#" + component.attr('id')
component_class = eval.call(window, class_name)
if component_class
console.debug("Creating #{class_name}")
try
new component_class(id)
catch error
console.log "Failed to create #{class_name}"
else
throw "UI component '#{class_name}' does not exist."
```
Declare a web component in your view:
```coffeescript
```
Write your web component, e.g. app/assets/javascripts/components/alert.js.coffee:
```coffeescript
root = exports ? this
# declared elsewhere
# root.App = {}
class Alerts
....
root.App.Alerts = Alerts
```