Merb tips I
Written by matt on April 4th, 2008
I'm working on a post reporting a recent benchmark I did comparing Rails vs Merb performances for a client's app.
In the meantime, here are few tricks you might need when using Merb 0.9x
In the init.rb file, uncomment and rename c[:session_id_key] (in the Merb::Config.use block)
In the same block, add c[:log_level] = :debug to set a log level
By default, Merb logs to STDOUT, to log to a file, in the config block add c[:log_file] = Merb.log_path + '/development.log' (note that you need to create the file yourself, Merb won't do that)
to save your gems locally, do: sudo gem install gem_name -i gems
need basic HTTP auth? it's now available in core
don't forget to require any plugins, extra gems you need (such as merb_helpers or merb-assets)
don't forget to select your ORM before using the generator( so your generated goodies will be adapted to your ORM)
routes are easy to use. In the console (merb -i) type merb.show_routes to see all your named routes
if you want to use linkto, install merbassets
nested routes example:
1 2 3 4 5 6 |
r.resources :channels do |channels| channels.resources :shows do |shows| shows.resources :episodes end end |
usage:
1 2 3 4 |
url(:channel_shows, :channel_id => channel) link_to h(channel.description), url(:channel, :id => channel) |
That's it for today :)
In the meantime, check this Merb presentation by Ezra and this DataMapper presentation by Wycats
Comments
-
If you add MERBORM and MERBTEST_SUITE to your environment (globably or when you run merb-gen) then you'll get the ORM + preferred test suite automatically enabled (either on edge merb or 0.9.2, not sure)
$ env | grep MERB MERBTESTSUITE=spec MERB_ORM=datamapper
-
So do you have to set the log path? If not, what is it set to?
-
@justin if you don't set the path and don't create the log file the logs will just go to your terminal. if you set the log path but don't create the log file, nothing will happen.
-Matt
-
HTTP Basic Authentication is now avilable in merb-core, so there is no need for the plugin anymore.
/Jonas
-
in merb 0,92, linkto is provided in merb-assets not merbhelpers


