Skip to content

Neo4j::Rails Scaffolds & Generators

andreasronge edited this page Apr 27, 2012 · 9 revisions

Rails Neo4j Project Template

Creating an Neo4j Application from scratch:

gem install rails
rails new myapp -m http://github.com/andreasronge/neo4j/blob/master/templates/neo4j.rb
cd myapp
rails generate scaffold User name:string email:string
rails s

open a webbrowser: http://localhost:3000/users

Neo4j.rb Scaffolds

You can use the standard Rails 3 generators to create your models, controllers, routes, tests and views, by passing ‘neo4j’ as the ORM for generators to use:

> rails generate scaffold User name:string born:date

You can also set up your application configuration to use neo4j as the default ORM for generating templates. Simply add the following to your application’s Rails configuration. This example also favours RSpec and specifies that fixtures are not to be created:

config.generators do |g|
  g.orm             :neo4j
  g.test_framework  :rspec, :fixture => false
end

Then you can simply call generators as normal without having to specify the ORM:

 rails generate model Admin --parent User

To undo what was just generated:

 rails destroy model Admin

To create a model with timestamps:

rails generate scaffold Post title:string --timestamps

Installation and Configuration

If you don’t want to use the Neo4j Project template above you can do it yourself.

Replace ActiveRecord with Neo4j

Edit the config/application.rb
comment the line require ‘rails/all’ and add

require "action_controller/railtie"
require "action_mailer/railtie"
require "active_resource/railtie"
require "rails/test_unit/railtie" 
require 'neo4j'

Include Dependency to Neo4j

Add the following line to your Gemfile
gem 'neo4j', '2.0.0'
and remove all sql gems. Install the gems specified in your Gemfile bundle install

Clone this wiki locally