Rails 3 View: Difference between revisions
Jump to navigation
Jump to search
Line 58: | Line 58: | ||
</source> | </source> | ||
Parameters are sent to the controller in <code>params[: | 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]
.