Rails 3 View: Difference between revisions

From Wiki
Jump to navigation Jump to search
Line 58: Line 58:
</source>
</source>


Parameters are sent to the controller in <code>params[:title]</code>, etc.
Parameters are sent to the controller in <code>params[:article]</code>.

Revision as of 22:35, 5 July 2011

Helpers are intended to generate complicated markup for use in the associated views.

Layouts

  • The default layout for the entire application is app/views/layouts/application.html.erb.
  • If controller-specific layouts are found, they are used instead.
  • You can use the layout directive at the class level in any controller (that is, not inside an action) to set the layout for the entire controller:
layout 'my_layout'
  • You can include a layout for a specific action with an explicit call to render inside the action:
render :layout => 'my_layout'
  • Sometimes, you want to render an action without a layout. In that case, you can pass false in place of the layout name:
render :layout => false

Form Example

<%= form_for(@article) do |f| %> 
<% if @article.errors.any? %> 
<div id="errorExplanation"> 
<h2><%= pluralize(@article.errors.count, "error") %>
prohibited this article from being saved:</h2> 
<ul> 
<% @article.errors.full_messages.each do |msg| %> 
<li><%= msg %></li> 
<% end %> 
</ul> 
</div> 
<% end %>

<div class="field"> 
<%= f.label :title %><br /> 
<%= f.text_field :title %> 
</div>
<div class="field"> 
<%= f.label :location %><br /> 
<%= f.text_field :location %> 
</div> 
<div class="field"> 
<%= f.label :excerpt %><br /> 
<%= f.text_field :excerpt %> 
</div> 
<div class="field"> 
<%= f.label :body %><br /> 
<%= f.text_area :body %> 
</div> 
<div class="field"> 
<%= f.label :published_at %><br /> 
<%= f.datetime_select :published_at %> 
</div> 
<div class="actions"> 
<%= f.submit %> 
</div> 
<% end %>

Parameters are sent to the controller in params[:article].