elm-rails
makes it easy to use Elm modules in your Ruby on Rails applications. This project was heavily inspired by react-rails.
-
Add elm-rails to your
Gemfile
and runbundle install
gem "elm-rails"
-
Add the
elm_modules
asset to yourapplication.js
manifest file//= require elm_modules
-
Create a new directory to house all Elm modules
mkdir app/assets/elm
-
Disable asset caching in
config/environments/development.rb
config.assets.configure do |env| env.cache = ActiveSupport::Cache.lookup_store(:null_store) end
-
Update
.gitignore
to ignore elm files/elm-stuff
-
Define your elm modules in the
app/assets/elm
directory.app/assets/Hello.elm
module Hello where import Graphics.Element exposing (show) port noun : String main = show ("Hello " ++ noun)
-
Use the view helper to insert your component into your view. Pass port values as a
Hash
.<h1>This is an Elm component!</h1> <%= elm_embed('Elm.Hello', { noun: 'World!' }) %>
-
That's it!