I found that for most projects the following tasks are performed:
- Collect user requirements
- Model Database Design
- Building views
- Layout Optimization
- Find and explore plugins / gems
- Testing
- User Review / Acceptance
- Expand Application
- Documentation
After these years of working as a freelancer, I think that steps 1 and 2 are the most important (at least for small projects). Before writing any code, I urge users to first refine the entire user interface. The HTML skeleton is better than a written document. Users do not understand and do not understand the specifications of the software. They can only give feedback after they see that they can click something. So fluency in an HTML site is a useful skill. Sometimes I delegate a task to a partner as an SA role.
Rails is very good for building an ever-evolving scheme. Try using migrations and data fetching instead of writing SQL statements directly. I believe that I rely more on ActiveRecord overtime. script/console is a good tool to test this many-to-many relationship and build :conditions => .
Recently, I worked on several legacy databases, the establish_connection and set_table_name in ActiveRecord elegantly stuck the old and new databases.
I would also like to take this opportunity to thank Ryan Bates , I learn a lot of Rails from his railscasts .
source share