Miscellaneous ways to improve your Rails experience =================================================== --- date: "2014-05-08" --- Recently, I've been working on [a Rails web application][leaguer], that's really the baby of a friend of mine. Anyway, through its development, I've come up with a couple things that should make your interactions with Rails more pleasant. ## Auto-(re)load classes from other directories than `app/` The development server automatically loads and reloads files from the `app/` directory, which is extremely nice. However, most web applications are going to involve modules that aren't in that directory; and editing those files requires re-starting the server for the changes to take effect. Adding the following lines to your [`config/application.rb`][application.rb] will allow it to automatically load and reload files from the `lib/` directory. You can of course change this to whichever directory/ies you like. module YourApp class Application < Rails::Application … config.autoload_paths += ["#{Rails.root}/lib"] config.watchable_dirs["#{Rails.root}/lib"] = [:rb] … end end ## Have `submit_tag` generate a button instead of an input In HTML, the `` tag styles slightly differently than other inputs or buttons. It is impossible to precisely controll the hight via CSS, which makes designing forms a pain. This is particularly noticable if you use Bootstrap 3, and put it next to another button; the submit button will be slightly shorter vertically. The obvious fix here is to use `