Skip to content

Compiling rails models directly into ajax javascript models using opal.

License

Notifications You must be signed in to change notification settings

trevorgrayson/omgjs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The goal of this project is to unobtrusively make javascript objects for each desired ActiveModel implementation in a rails project. These javascript objects will allow you to run the expecting fetching, deleting, and saving methods expected as if you were in a rails environment. This project isn’t disimilar to Vienna (github.com/opal/vienna), but is trying out going a step further by not requiring the user to rewrite the objects.

Long way to go with this project, but presently if you include the omgjs gem

gem 'omgjs', :git => 'https://github.com/trevorgrayson/omgjs.git'

and reference the required javascript files in your layout:

Presuming you are using rails assets, you’re going to want to add the following lines to your application.js file.

//= require opal
//= require active_record
//= require omg

otherwise you’ll do the traditional linking in your public folder:

<script type="text/javascript" src="/javascripts/opal.js"></script>
<script type="text/javascript" src="/javascripts/active_record.js"></script>
<script type="text/javascript" src="/javascripts/omg.js"></script>

The first is Opal’s required library. The second, active_record, is the equivilent of ActiveRecord::Base in rails, and will do all the heavy lifting for these objects. Lastly, omg, will have a list of all your ActiveModels in the app/models/ directory. You will rebuild this file in development everytime you refresh your browser.

You should be able to immediately load a page and find your models under the “Opal” namespace:

<script>
  Opal.YourModelName.find(1)

  Opal.YourModelName.find('all', {conditions: 'id > 2'})

</script>

About

Compiling rails models directly into ajax javascript models using opal.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published