1.2. Putting Rails into Action You could manually install all of the components for Rails, but Ruby has something called gems . The gem installer accesses a web site, Ruby Forge, and downloads an application unit, called a gem, and all its dependencies. You can install Rails through gems, requesting all dependencies, with this command: [*] [*] If you want to code along with us, make sure you've installed Ruby and gems. Appendix A contains detailed installation instructions. gem install rails --include-dependencies That's itRails is installed. There's one caveat: you also need to install the database support for your given database. If you've already installed MySQL, you're done. If not, go to http://rubyonrails.org for more details on Rails installation. Next, here's how to create a Rails project: MVC and Model2 In the mid-1970s, the MVC (model-view-controller) strategy evolved in the Smalltalk community to reduce coupling between business logic and presentation logic. With MVC, you put your business logic into separate domain objects and isolate your presentation logic in a view, which presents data from domain objects. The controller manages navigation between views, processes user input, and marshals the correct domain objects between the model and view. Good programmers have used MVC ever since, implementing MVC applications using frameworks written in many different languages, including Ruby. Web developers use a subtly different variant of MVC called Model2 . Model2 uses the same principles of MVC but tailors them for stateless web applications. In Model2 applications, a browser calls a controller via web standards. The controller interacts with the model to get data and validate user input, and then makes domain objects available to the view for display. Next, the controller invokes the correct view generator, based on validation results or retrieved data. The view layer generates a web page, using data provided by the controller. The framework then returns the web page to the user. In the Rails community, when someone says MVC, they're referring to the Model2 variant. Model2 has been used in many successful projects spread across many programming languages. In the Java community, Struts is the most common Model2 framework. In Python, the flagship web development framework called Zope uses Model2. You can read more about the model-view-controller strategy at http://en.wikipedia.org/wiki/Model-view-controller. | > rails chapter-1 create create app/controllers create app/helpers create app/models create app/views/layouts create config/environments create components create db create doc create lib ... create test/mocks/development create test/mocks/test create test/unit create vendor ... create app/controllers/application.rb create app/helpers/application_helper.rb create test/test_helper.rb create config/database.yml ... We truncated the list, but you get the picture. |