Aptana Radrails M7 Beta - First Impressions


I am an intensive user of Aptana Radrails M5 and has just updated to M7.

Interface-wise, I can immediately see the following changes :-

1) Rails Navigator has been replaced by Ruby Explorer

2) 5 obviously new icons on the tool bar a) H - switch to Helper b) T - switch to Test c) M - switch to Model d) V - switch to Views e) C - switch to Controller

Curious, I selected my favourite project and click (a) - (e), nothing happened

Then, I opened the CustomerController which looks the same as in M3 Clicking H opened module customers_helper.rb Clicking M opened module customer.rb Clicking V asked for which action (using AS, N/A) Clicking T opened customer_controller_test.rb

This is very convenient, Cool :slight_smile:

3) Rails Plugin no longer automatically goto the home pages but links are clearly there thus speeding up

4) Code completion/Code Snippet when one type

val or validates+ctrl+space inserts

validates_presence_of(attributes, :message => "message")

5) The Ruby Explorer is great in that via a tree structure, methods hyperlinked to the actaul method This is a nice feature absent in M5

More to come...

Just for comparison:

1. We have two project views. A "script explorer", which shows your project a directory structure, and a "Rails Explorer" (the default) that groups related things together and floats the most-used items up to the top. So at the top level you have a node for "controllers", instead of two levels down. Open a controller and the actions *and* views are shown together.

2. Code navigation "open associate", available from the context menu or via ctrl+alt+N or via a ctrl-alt hyperlink will follow the Rails dispatch path. So if you are in a controller in a login method that has a login.rhtml view it will toggle between them. If the login action has a call to another action, a re-direct to another action, an explicit render of a view...it will follow that path. If there are multiple paths it gives you a choice, unless your cursor is on the line with the redirect/ render/action call in which case it will just go there directly.

If the view doesn't exist we'll create it on the fly.

If a view is reachable from multiple actions and you use open associate we will let you choose which one you go to.

The thinking here is that the normal workflow is to create/modify an action and then create/modif a view to accomodate the changes. We follow the same dispatch rules as Rails, so it's very natural and you can do your development in the same mindset.

3. Other code navigation * If you want to go to a specific file a fast way is ctrl+shift+r (open resource), then start typing the name. * F3 to open the definition of a class -- so if you are in a model on the first line ("class Mymodel << ActiveRecord::Base") and you have your cursor on "Base" then F3 will open that class * On a method call (eg an action in a contrller) right click and select "open call hierarchy" will show you all the places this is called from, double click to navigate * ctrl+T on a ruby type will open the type hierarchy for navigation (not that useful in Rails app development IMO, more from Ruby coders) * ctrl+O opensa quick outline of the current file (say a controller with many methods), for easy navigation * And of course the dependency viewer, double click to jump to a dependent item or dependency