CSC/ECE 517 Fall 2012/ch1b 1w64 nn: Difference between revisions
Jump to navigation
Jump to search
Line 22: | Line 22: | ||
Once the user is satisfied looking at page, what does he do? There is no place to click. Also how exactly does the user get to this page? | Once the user is satisfied looking at page, what does he do? There is no place to click. Also how exactly does the user get to this page? | ||
{| class="wikitable" | |||
|- | |||
! Header text !! Header text !! Header text | |||
|- | |||
| Example || Example || Example | |||
|- | |||
| Example || Example || Example | |||
|- | |||
| Example || Example || Example | |||
|} | |||
===References=== | ===References=== |
Revision as of 04:37, 29 September 2012
SaaS - 3.12 Controller and views
Introduction
Adding a new controller action to Rails application
- Create route in config/routes.rb if needed. Make sure that there is a route that is going to eventually route action, if not create one in routes.rb.
- Add the action method) in the appropriate app/controllers/*_controller.rb. You have to add the actual code in other words, the method in the appropriate controler file that will do whatever that action is.
- Ensure there is something for the action to render in app/views/model/action.html.haml. You have to assure that there is something to the action can render what its all done. Every trip through the controller has to end with returning something and will see that although the most common thing is returning a view whose name matches the controller action, we can also return other things.
MVC responsibilities
- Model: methods to get/manipulate data. Different methods are provided by active record to do that.
Movie.where(...), Movie.find(...)
- Controller: get data from Model, make available to view
def show @movie = Movie.find(params[:id]) end
params which is the parameter from the request that work hopefully parsed out for us by the routing subsystem. Let us assume that it is going to contain the id of the movie that we want to find beacause then we can just call movie.find. This is unsafe because in a real application because if params[:id] happens to be a non-existing thing, we will get an error. So in practice, we either use find by id or use exceptions. The instance variables in the controller are going to be available to the view
- View: display data, allow user interaction. In this example Show is going to display the details of a movie (description, rating). To select the view for rendering step, the default action the rails will take is, it will try to find a view whose directory name matches the name of the class and finally matches the name of the action.
URI helpers
Once the user is satisfied looking at page, what does he do? There is no place to click. Also how exactly does the user get to this page?
Header text | Header text | Header text |
---|---|---|
Example | Example | Example |
Example | Example | Example |
Example | Example | Example |