The Savage beast forum is very nice and useful. sample is on the web - http://forums.pragprog.com/ . It should be very easy to install as rails plugin. however, there is compatibility over rails version 2.0.2, 2.1.0 and 2.2. Here is my successful story.
rails -d mysql forums
cd forums
/* Install Restful Authentication */
ruby script/plugin install restful_authentication
ruby script/generate authenticated user sessions --include-activation
svn export http://elitists.textdriven.com/svn/plugins/acts_as_state_machine/trunk vendor/plugins/acts_as_state_machine
add these line in "config/routes.rb"
map.activate '/activate/:activation_code', :controller => 'users', :action => 'activate', :activation_code => nil
map.signup '/signup', :controller => 'users', :action => 'new'
map.login '/login', :controller => 'sessions', :action => 'new'
map.logout '/logout', :controller => 'sessions', :action => 'destroy'
map.resources :users, :member => { :suspend => :put,
:unsuspend => :put,
:purge => :delete }
add in "config/environment.rb"
config.active_record.observers = :user_observer
remove "include AuthenticatedSystem" from "app/controllers/sessions_controller.rb" and "app/controllers/uers_controller.rb"
add in "app/controllers/application.rb"
include AuthenticatedSystem
script/generate controller home index
in "app/views/home/index.html.erb"
<h1>Welcome</h1>
<% if logged_in? %>
<p><strong>You are logged in as <%=h current_user.login %></strong></p>
<p><%= link_to 'Logout', logout_path %></p>
<% else %>
<p><strong>You are currently not logged in.</strong></p>
<p>
<%= link_to 'Login', login_path %> or
<%= link_to 'Sign Up', signup_path %>
</p>
<% end %>
in "config/routes.rb"
map.root :controller => "home"
rake db:create
rake db:migrate
ruby script/server
(You should able to view/Login/Logout/Signup)
/* Install Savage Beast Forum */
There is a version that work for Rails 2.1.0 from - http://github.com/aenima/aep_beast/tree/master
ruby script/plugin install git://github.com/lazyatom/engines.git
git clone git://github.com/aenima/aep_beast.git vendor/plugins/aep_beast
rm -rf vendor/plugins/aep_beast/tested_plugins/engines/
cp -R vendor/plugins/aep_beast/tested_plugins vendor/plugins/
gem install RedCloth
gem install gettext
You don’t need to install following plugins
(ignore) ./script/plugin install white_list
(ignore)./script/plugin install white_list_formatted_content
(ignore)./script/plugin install git://github.com/rails/acts_as_list.git
(ignore)./script/plugin install git://github.com/brett/gibberish.git
(ignore)./script/plugin install git://github.com/mislav/will_paginate.git
on Rails 2.2.0 You have to change in vendor/plugins/aep_beast/init.rb
"Dependencies" -> "ActiveSupport::Dependencies"
in "config/environment.rb" line 12 right after ..'boot')
require File.join(File.dirname(__FILE__), '../vendor/plugins/engines/boot')
ruby script/generate plugin_migration
rake db:migrate
in "config/routes.rb" (put on the top)
map.from_plugin :savage_beast
in app/models/user.rb:
include SavageBeast::UserInit
def display_name
login
end
def admin?
true
end
def currently_online
false
end
in app/controllers/application.rb
def admin?
logged_in?
end
/* ERRORS */
/Library/Ruby/Gems/1.8/gems/activesupport-2.2.2/lib/active_support/core_ext/module/aliasing.rb:33:in `alias_method': undefined method `initialize_schema_information' for module `ActiveRecord::ConnectionAdapters::SchemaStatements' (NameError)
fix by:
ruby script/plugin discover
ruby script/plugin install engines --force
/Library/Ruby/Gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:102:in `const_missing': uninitialized constant Rails::Plugin::Dependencies (NameError)
from /Users/Jirapong/ror/forums/vendor/plugins/savage_beast/init.rb:7:in `evaluate_init_rb'
fix by:
ruby script/plugin dependencies
Update: If you want to build from GitHub see this -