Merb interactive mode:
merb -i
'readline' required
To fix this, get another copy of the Ruby interpreter source code
and recompile it from
source with the --with-readline-dir=/usr option - see
blog.fiveruns.com/2008/3/3/compiling-ruby-rubygems-and-rails-on-ubuntu
Got ruby-1.8.7-p72.tar.gz from the ruby-lang website and untarred it -
tar xvfz ruby-1.8.7-p72.tar.gz
cd ruby-1.8.7-p72
./configure --prefix=/usr/local
--with-openssl-dir=/usr
--with-readline-dir=/usr
--with-zlib-dir=/usr
make
sudo make install
ruby -v
ruby 1.8.7 (2008-08-11 patchlevel 72) [i686-linux]
merb -i
Loading init file from rubyjunction/config/init.rb
Loading rubyjunction/config/environments/development.rb
~ Connecting to database...
~ Loaded slice 'MerbAuthSlicePassword' ...
... irb: warn: can't alias context from irb_context.
irb(main):001:0> puts 'hello world'
hello world
=> nil
|
That's a lot just to print 'hello world'...
Migrations - making the database fit the Ruby code
Started merb, added a few fields to model article.rb,
and generated a 'migration' which is supposed to add
the new columns to the database:
merb-gen migration --model article
...
[ADDED] schema/migrations/003_article_migration.rb
cat schema/migrations/003_article_migration.rb
migration 3, :article do
up do
end
down do
end
end
rake db:migrate
Migration name conflict: 'article'
|
Doesn't the migration generator know how to name its migrations?
rake db:automigrate
to put the new columns in the table
rubyjunction$ merb-gen migration --model article
Loading init file from config/init.rb
Loading config/environments/development.rb
Generating with migration generator:
[ADDED] schema/migrations/001_article_migration.rb
|
Couldn't find out how to create the test database
So I dumped the development database into a file and loaded
it into the test database before running the tests:
mysqldump -u root db_development > db.sql
and loaded db.sql into the test database from within mysql:
source db.sql
This message, from one of the creators of Merb,
groups.google.com/group/merb/msg/b3895050349fbe87
says
merb-gen resource Page title:string body:text
should be written as:
merb-gen resource Page title:string,body:text
... This is probably quite poorly documented at the moment
A bit of an understatement! I know it's free, but
we are spoiled Rails hackers, (web development that doesn't hurt).
Merb is web development that does hurt.
Guess which one of these commands works?
merb-gen resource Article title:string body:text created_at:date_time
merb-gen resource Article title:string, body:text, created_at:date_time
merb-gen resource Article title:string,body:text,created_at:datetime
|
If you guessed the last one, you have what it takes to
be a Merb developer - you're good at guessing
After that, do
rake db:automigrate
to create the table
Unlike Rails, the Merb generator doesn't have a scaffold generator
so you can't start using the app a minute after creating it.
However, this link
wiki.merbivore.com/howto/simple_new_view
gives an example of a simple page to create a new article, so
I used it.
By the way, I created this site using the Rubymine
editor from JetBrains. Best Ruby IDE I've seen.
After a lot
of messing about with different AJAX editors, ended up
using TinyMCE for editing articles.
tinymce.moxiecode.com/
One thing that is easier with Merb
is imposing a style on all pages.
All I have to do
is write a header and footer in application.html.erb
and make sure the following is in the middle of this file:
<%#= message[:notice] %>
<%= catch_content :for_layout %>
|
The text you are reading is the contents of more.html.erb ,
which gets inserted
where this is in application.html.erb when you go to /more.
Portland |
|
London |
|