desarrollando con ror - vistas
TRANSCRIPT
![Page 1: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/1.jpg)
Vistas en Rails 3.0Desarrollando en Ruby On Rails
Mario Alberto Chávez Cárdenashttp://www.decisionesinteligentes.com
@mario_chavez
sábado 28 de agosto de 2010
![Page 2: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/2.jpg)
¿Quien soy?
sábado 28 de agosto de 2010
![Page 3: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/3.jpg)
¿Quien soy?De Tijuana, Baja California
sábado 28 de agosto de 2010
![Page 4: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/4.jpg)
¿Quien soy?De Tijuana, Baja California
Ingeniero en Sistemas Computacionales
sábado 28 de agosto de 2010
![Page 5: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/5.jpg)
¿Quien soy?De Tijuana, Baja California
Ingeniero en Sistemas Computacionales
Consultor Independiente TI en decisionesinteligentes.com
sábado 28 de agosto de 2010
![Page 6: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/6.jpg)
¿Quien soy?De Tijuana, Baja California
Ingeniero en Sistemas Computacionales
Consultor Independiente TI en decisionesinteligentes.com
Entre a Rails hace 2 años
sábado 28 de agosto de 2010
![Page 7: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/7.jpg)
¿Quien soy?
sábado 28 de agosto de 2010
![Page 8: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/8.jpg)
¿Quien soy?Iniciador de la comunidad tijuana.rb
sábado 28 de agosto de 2010
![Page 9: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/9.jpg)
¿Quien soy?Iniciador de la comunidad tijuana.rb
Google groups tijuanarb y @tijuanarb
sábado 28 de agosto de 2010
![Page 10: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/10.jpg)
¿Quien soy?Iniciador de la comunidad tijuana.rb
Google groups tijuanarb y @tijuanarb
Iniciador de los SHDHTJ en Tijuana
sábado 28 de agosto de 2010
![Page 11: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/11.jpg)
¿Quien soy?Iniciador de la comunidad tijuana.rb
Google groups tijuanarb y @tijuanarb
Iniciador de los SHDHTJ en Tijuana
Blog http://mario-chavez.blogspot.com
sábado 28 de agosto de 2010
![Page 12: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/12.jpg)
MVC
sábado 28 de agosto de 2010
![Page 13: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/13.jpg)
MVCNavegador
Controlador
Modelo
Servidor webRuteo
Ejecución
Vista
sábado 28 de agosto de 2010
![Page 14: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/14.jpg)
MVCNavegador
Controlador
Modelo
Servidor webRuteo
Ejecución
Vista
sábado 28 de agosto de 2010
![Page 15: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/15.jpg)
MVCNavegador
Controlador
Modelo
Servidor webRuteo
Ejecución
Vista
sábado 28 de agosto de 2010
![Page 16: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/16.jpg)
MVCNavegador
Controlador
Modelo
Servidor webRuteo
Ejecución
Vista
sábado 28 de agosto de 2010
![Page 17: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/17.jpg)
MVCNavegador
Controlador
Modelo
Servidor webRuteo
Ejecución
Vista
sábado 28 de agosto de 2010
![Page 18: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/18.jpg)
MVCNavegador
Controlador
Modelo
Servidor webRuteo
Ejecución
Vista
sábado 28 de agosto de 2010
![Page 19: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/19.jpg)
MVCNavegador
Controlador
Modelo
Servidor webRuteo
Ejecución
Vista
sábado 28 de agosto de 2010
![Page 20: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/20.jpg)
Vistas
sábado 28 de agosto de 2010
![Page 21: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/21.jpg)
VistasSon la UI de nuestra aplicación
sábado 28 de agosto de 2010
![Page 22: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/22.jpg)
VistasSon la UI de nuestra aplicación
Rails utiliza ERB
sábado 28 de agosto de 2010
![Page 23: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/23.jpg)
VistasSon la UI de nuestra aplicación
Rails utiliza ERB
Son una mezcla de HTML y Ruby
sábado 28 de agosto de 2010
![Page 24: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/24.jpg)
VistasSon la UI de nuestra aplicación
Rails utiliza ERB
Son una mezcla de HTML y Ruby
Son plantillas
sábado 28 de agosto de 2010
![Page 25: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/25.jpg)
VistasSon la UI de nuestra aplicación
Rails utiliza ERB
Son una mezcla de HTML y Ruby
Son plantillas
<%= “Hola mundo” %>
sábado 28 de agosto de 2010
![Page 26: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/26.jpg)
Relación VC
sábado 28 de agosto de 2010
![Page 27: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/27.jpg)
Relación VCAcciones en un
controlador
sábado 28 de agosto de 2010
![Page 28: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/28.jpg)
Relación VC
index
show
new
create
edit
update
destroy
index.html.erb
show.html.erb
new.html.erb
edit.html.erb
Acciones en un controlador
Vistas
sábado 28 de agosto de 2010
![Page 29: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/29.jpg)
Estructura
sábado 28 de agosto de 2010
![Page 30: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/30.jpg)
EstructuraLas vistas están en el directorio views
sábado 28 de agosto de 2010
![Page 31: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/31.jpg)
EstructuraLas vistas están en el directorio views
Hay un directorio con el nombre de cada controlador
sábado 28 de agosto de 2010
![Page 32: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/32.jpg)
EstructuraLas vistas están en el directorio views
Hay un directorio con el nombre de cada controlador
Layout contiene plantillas de estructura
sábado 28 de agosto de 2010
![Page 33: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/33.jpg)
EstructuraLas vistas están en el directorio views
Hay un directorio con el nombre de cada controlador
Layout contiene plantillas de estructura
Shared contiene plantillas compartidas
sábado 28 de agosto de 2010
![Page 34: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/34.jpg)
Layouts
sábado 28 de agosto de 2010
![Page 35: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/35.jpg)
Layouts
sábado 28 de agosto de 2010
![Page 36: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/36.jpg)
LayoutsHtml de la estructura compartida de la aplicación
sábado 28 de agosto de 2010
![Page 37: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/37.jpg)
LayoutsHtml de la estructura compartida de la aplicación
<html> <head /> <body> <div id=”header”> ... </div> <div id=”content”> <%= yield %> </div> <div id=”sidebar”> <%= yield :sidebar %> </div> <div id=”footer”> ... </div> </body></html>
sábado 28 de agosto de 2010
![Page 38: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/38.jpg)
Configurar layout
sábado 28 de agosto de 2010
![Page 39: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/39.jpg)
Configurar layoutA nivel aplicación
class ApplicationController < ActionController::Base layout ‘main’end
sábado 28 de agosto de 2010
![Page 40: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/40.jpg)
Configurar layoutA nivel aplicación
class ApplicationController < ActionController::Base layout ‘main’end
A nivel controladorclass PublicationsControler < ApplicationController layout ‘main’end
sábado 28 de agosto de 2010
![Page 41: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/41.jpg)
Configurar layoutA nivel aplicación
class ApplicationController < ActionController::Base layout ‘main’end
A nivel controladorclass PublicationsControler < ApplicationController layout ‘main’end
A nivel controlador condicional
class PublicationsControler < ApplicationController layout ‘main’, :except => [:new]end
sábado 28 de agosto de 2010
![Page 42: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/42.jpg)
Trabajar con vistas
sábado 28 de agosto de 2010
![Page 43: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/43.jpg)
Trabajar con vistas
sábado 28 de agosto de 2010
![Page 44: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/44.jpg)
Trabajar con vistasHtml y Ruby conforman el contenido de la vista
sábado 28 de agosto de 2010
![Page 45: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/45.jpg)
Trabajar con vistasHtml y Ruby conforman el contenido de la vista
<div id="publication"> <div class="publidate"> <h4><span><%[email protected]_at.day%></span> <%[email protected]_at.strftime('%b').downcase!%></h4> </div> <div class="publititle"> <h3><%= @publication.title %></h3> <p>por: <%= @publication.user.display_name %></p> </div> <div class="publitype"> <%=image_tag get_category_image(@publication), :alt => get_category_name(@publication) %> </div> <div class="publicontent"> <p><%= @publication.body %></p> </div></div>
sábado 28 de agosto de 2010
![Page 46: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/46.jpg)
Trabajar con vistas
sábado 28 de agosto de 2010
![Page 47: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/47.jpg)
Trabajar con vistasLayout
<html> <head /> <body> <div id=”header”> ... </div> <div id=”content”> <%= yield %> </div> <div id=”sidebar”> <%= yield :sidebar %> </div> <div id=”footer”> ... </div> </body></html>
sábado 28 de agosto de 2010
![Page 48: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/48.jpg)
Trabajar con vistasLayout
Vista (show)<html> <head /> <body> <div id=”header”> ... </div> <div id=”content”> <%= yield %> </div> <div id=”sidebar”> <%= yield :sidebar %> </div> <div id=”footer”> ... </div> </body></html>
<div> <h1>Contenido principal</h1> <div> ... </div></div>
<% content_for :sidebar %> <h2>Contenido del sidebar</h2> <div> ... </div><% end %>
sábado 28 de agosto de 2010
![Page 49: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/49.jpg)
Render de vistas
sábado 28 de agosto de 2010
![Page 50: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/50.jpg)
Render de vistas
sábado 28 de agosto de 2010
![Page 51: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/51.jpg)
Render de vistasRender implícito
def show @publication = Publication.find(params[:id]) respond_with @publicationend
sábado 28 de agosto de 2010
![Page 52: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/52.jpg)
Render de vistasRender implícito
def show @publication = Publication.find(params[:id]) respond_with @publicationend
Render explícitodef show @publication = Publication.find(params[:id]) render :show, :layout => ‘coolone’end
sábado 28 de agosto de 2010
![Page 53: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/53.jpg)
Render de vistasRender implícito
def show @publication = Publication.find(params[:id]) respond_with @publicationend
Render explícitodef show @publication = Publication.find(params[:id]) render :show, :layout => ‘coolone’end
Redireccionar a accióndef create @publication = ... if @publication.save redirect_to publications_path else render :new endend
sábado 28 de agosto de 2010
![Page 54: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/54.jpg)
Simplificar vistas
sábado 28 de agosto de 2010
![Page 55: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/55.jpg)
Simplificar vistas
sábado 28 de agosto de 2010
![Page 56: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/56.jpg)
Simplificar vistasVistas grande y complejas se pueden “romper en pedazos”
sábado 28 de agosto de 2010
![Page 57: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/57.jpg)
Simplificar vistasVistas grande y complejas se pueden “romper en pedazos”
Parciales privados o compartidos
sábado 28 de agosto de 2010
![Page 58: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/58.jpg)
Simplificar vistasVistas grande y complejas se pueden “romper en pedazos”
Parciales privados o compartidos
<div id="publication"> <div class="publidate"> <h4><span><%[email protected]_at.day%></span> <%[email protected]_at.strftime('%b').downcase!%></h4> </div> <div class="publititle"> <h3><%= @publication.title %></h3> <p>por: <%= @publication.user.display_name %></p> </div> <div class="publitype"> <%=image_tag get_category_image(@publication), :alt => get_category_name(@publication) %> </div> <div class="publicontent"> <p><%= @publication.body %></p> </div></div>
sábado 28 de agosto de 2010
![Page 59: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/59.jpg)
Simplificar vistasVistas grande y complejas se pueden “romper en pedazos”
Parciales privados o compartidos
<div id="publication"> <%= render “content” %>
<%= render “shared/attachments” %></div>
<div id=”comments”> <%= render “comments” %></div>
<div id=”form”> <%= render “add_comment” %></div>
sábado 28 de agosto de 2010
![Page 60: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/60.jpg)
Parciales
sábado 28 de agosto de 2010
![Page 61: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/61.jpg)
ParcialesA los parciales se les antepone _ en el nombre: _menu.html.erb
sábado 28 de agosto de 2010
![Page 62: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/62.jpg)
ParcialesA los parciales se les antepone _ en el nombre: _menu.html.erb
Rails puede inferir el nombre del parcial
sábado 28 de agosto de 2010
![Page 63: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/63.jpg)
ParcialesA los parciales se les antepone _ en el nombre: _menu.html.erb
Rails puede inferir el nombre del parcial
Manejan su propio alcance en las variables
sábado 28 de agosto de 2010
![Page 64: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/64.jpg)
ParcialesA los parciales se les antepone _ en el nombre: _menu.html.erb
Rails puede inferir el nombre del parcial
Manejan su propio alcance en las variables
En colecciones no tenemos que hacer .each
sábado 28 de agosto de 2010
![Page 65: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/65.jpg)
ParcialesA los parciales se les antepone _ en el nombre: _menu.html.erb
Rails puede inferir el nombre del parcial
Manejan su propio alcance en las variables
En colecciones no tenemos que hacer .each
Pasar variables<%= render :partial => “menu”, :locals => { :myvar => @myvar } %>
sábado 28 de agosto de 2010
![Page 66: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/66.jpg)
ParcialesA los parciales se les antepone _ en el nombre: _menu.html.erb
Rails puede inferir el nombre del parcial
Manejan su propio alcance en las variables
En colecciones no tenemos que hacer .each
Pasar variables<%= render :partial => “menu”, :locals => { :myvar => @myvar } %>
Pasar un objeto<%= render :partial => “publication”, :object => @publication %>
<%= render @publication %>
sábado 28 de agosto de 2010
![Page 67: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/67.jpg)
ParcialesA los parciales se les antepone _ en el nombre: _menu.html.erb
Rails puede inferir el nombre del parcial
Manejan su propio alcance en las variables
En colecciones no tenemos que hacer .each
Pasar variables<%= render :partial => “menu”, :locals => { :myvar => @myvar } %>
Pasar un objeto<%= render :partial => “publication”, :object => @publication %>
<%= render @publication %>
Pasar una colección<%= render :partial => “publications”, :collection => @publications, :as => :publication %>
<%= render @publications, :spacer_template => “publication_rule” %>
sábado 28 de agosto de 2010
![Page 68: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/68.jpg)
Helpers
sábado 28 de agosto de 2010
![Page 69: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/69.jpg)
HelpersMétodos que “escriben” HTML por nosotros
sábado 28 de agosto de 2010
![Page 70: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/70.jpg)
HelpersMétodos que “escriben” HTML por nosotros
Sintaxis de Ruby
sábado 28 de agosto de 2010
![Page 71: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/71.jpg)
HelpersMétodos que “escriben” HTML por nosotros
Sintaxis de Ruby
Centrados en el uso de modelos
sábado 28 de agosto de 2010
![Page 72: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/72.jpg)
HelpersMétodos que “escriben” HTML por nosotros
Sintaxis de Ruby
Centrados en el uso de modelos
Helpers genéricos _tag y sin _tag para modelos
sábado 28 de agosto de 2010
![Page 73: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/73.jpg)
HelpersMétodos que “escriben” HTML por nosotros
Sintaxis de Ruby
Centrados en el uso de modelos
Helpers genéricos _tag y sin _tag para modelos
Todos los helpers usan safe code
sábado 28 de agosto de 2010
![Page 74: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/74.jpg)
HelpersMétodos que “escriben” HTML por nosotros
Sintaxis de Ruby
Centrados en el uso de modelos
Helpers genéricos _tag y sin _tag para modelos
Todos los helpers usan safe code
Form helpers
sábado 28 de agosto de 2010
![Page 75: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/75.jpg)
HelpersMétodos que “escriben” HTML por nosotros
Sintaxis de Ruby
Centrados en el uso de modelos
Helpers genéricos _tag y sin _tag para modelos
Todos los helpers usan safe code
Form helpers
Model helpers
sábado 28 de agosto de 2010
![Page 76: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/76.jpg)
HelpersMétodos que “escriben” HTML por nosotros
Sintaxis de Ruby
Centrados en el uso de modelos
Helpers genéricos _tag y sin _tag para modelos
Todos los helpers usan safe code
Form helpers
Model helpers
Date and Time helpers
sábado 28 de agosto de 2010
![Page 77: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/77.jpg)
HelpersMétodos que “escriben” HTML por nosotros
Sintaxis de Ruby
Centrados en el uso de modelos
Helpers genéricos _tag y sin _tag para modelos
Todos los helpers usan safe code
Form helpers
Model helpers
Date and Time helpers
Custom helpers
sábado 28 de agosto de 2010
![Page 78: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/78.jpg)
Form helpers
sábado 28 de agosto de 2010
![Page 79: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/79.jpg)
Form helpers<%= form_tag(search_path, :method => "get") do %> <%= label_tag(:q, "Search for:") %> <%= text_field_tag(:q) %> <%= submit_tag("Search") %><% end %>
sábado 28 de agosto de 2010
![Page 80: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/80.jpg)
Form helpers<%= form_tag(search_path, :method => "get") do %> <%= label_tag(:q, "Search for:") %> <%= text_field_tag(:q) %> <%= submit_tag("Search") %><% end %>
<form action="/search" method="get"> <label for="q">Search for:</label> <input id="q" name="q" type="text" /> <input name="commit" type="submit" value="Search" /></form>
Para obtener el valor del input “q” en el controlador usamos params[:q]
sábado 28 de agosto de 2010
![Page 81: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/81.jpg)
Form helpers<%= form_tag(search_path, :method => "get") do %> <%= label_tag(:q, "Search for:") %> <%= text_field_tag(:q) %> <%= submit_tag("Search") %><% end %>
<form action="/search" method="get"> <label for="q">Search for:</label> <input id="q" name="q" type="text" /> <input name="commit" type="submit" value="Search" /></form>
Para obtener el valor del input “q” en el controlador usamos params[:q]
check_box>tag
sábado 28 de agosto de 2010
![Page 82: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/82.jpg)
Form helpers<%= form_tag(search_path, :method => "get") do %> <%= label_tag(:q, "Search for:") %> <%= text_field_tag(:q) %> <%= submit_tag("Search") %><% end %>
<form action="/search" method="get"> <label for="q">Search for:</label> <input id="q" name="q" type="text" /> <input name="commit" type="submit" value="Search" /></form>
Para obtener el valor del input “q” en el controlador usamos params[:q]
check_box>tag
radio_button_tag
sábado 28 de agosto de 2010
![Page 83: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/83.jpg)
Form helpers<%= form_tag(search_path, :method => "get") do %> <%= label_tag(:q, "Search for:") %> <%= text_field_tag(:q) %> <%= submit_tag("Search") %><% end %>
<form action="/search" method="get"> <label for="q">Search for:</label> <input id="q" name="q" type="text" /> <input name="commit" type="submit" value="Search" /></form>
Para obtener el valor del input “q” en el controlador usamos params[:q]
check_box>tag
radio_button_tag
text_area_tag
sábado 28 de agosto de 2010
![Page 84: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/84.jpg)
Form helpers<%= form_tag(search_path, :method => "get") do %> <%= label_tag(:q, "Search for:") %> <%= text_field_tag(:q) %> <%= submit_tag("Search") %><% end %>
<form action="/search" method="get"> <label for="q">Search for:</label> <input id="q" name="q" type="text" /> <input name="commit" type="submit" value="Search" /></form>
Para obtener el valor del input “q” en el controlador usamos params[:q]
check_box>tag
radio_button_tag
text_area_tag
password_field_tag
sábado 28 de agosto de 2010
![Page 85: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/85.jpg)
Form helpers<%= form_tag(search_path, :method => "get") do %> <%= label_tag(:q, "Search for:") %> <%= text_field_tag(:q) %> <%= submit_tag("Search") %><% end %>
<form action="/search" method="get"> <label for="q">Search for:</label> <input id="q" name="q" type="text" /> <input name="commit" type="submit" value="Search" /></form>
Para obtener el valor del input “q” en el controlador usamos params[:q]
check_box>tag
radio_button_tag
text_area_tag
password_field_tag
hidden_field_tag
sábado 28 de agosto de 2010
![Page 86: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/86.jpg)
Form helpers<%= form_tag(search_path, :method => "get") do %> <%= label_tag(:q, "Search for:") %> <%= text_field_tag(:q) %> <%= submit_tag("Search") %><% end %>
<form action="/search" method="get"> <label for="q">Search for:</label> <input id="q" name="q" type="text" /> <input name="commit" type="submit" value="Search" /></form>
Para obtener el valor del input “q” en el controlador usamos params[:q]
check_box>tag
radio_button_tag
text_area_tag
password_field_tag
hidden_field_tag
select_tag
sábado 28 de agosto de 2010
![Page 87: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/87.jpg)
Model helpers
sábado 28 de agosto de 2010
![Page 88: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/88.jpg)
Model helpers<%= form @publication do |f| %> <%= f.label :message %> <%= f.text_field :message %> <%= f.submit("Crear") %><% end %>
sábado 28 de agosto de 2010
![Page 89: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/89.jpg)
Model helpers<%= form @publication do |f| %> <%= f.label :message %> <%= f.text_field :message %> <%= f.submit("Crear") %><% end %>
<form action="/publications" method="post"> <label for="message">Message</label> <input id="publication_message" name="publication[name]" type="text" /> <input name="commit" type="submit" value="Crear" /></form>
En el controlador obtenemos el objeto con params[:publication]
sábado 28 de agosto de 2010
![Page 90: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/90.jpg)
Model helpers<%= form @publication do |f| %> <%= f.label :message %> <%= f.text_field :message %> <%= f.submit("Crear") %><% end %>
<form action="/publications" method="post"> <label for="message">Message</label> <input id="publication_message" name="publication[name]" type="text" /> <input name="commit" type="submit" value="Crear" /></form>
En el controlador obtenemos el objeto con params[:publication]
check_box
sábado 28 de agosto de 2010
![Page 91: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/91.jpg)
Model helpers<%= form @publication do |f| %> <%= f.label :message %> <%= f.text_field :message %> <%= f.submit("Crear") %><% end %>
<form action="/publications" method="post"> <label for="message">Message</label> <input id="publication_message" name="publication[name]" type="text" /> <input name="commit" type="submit" value="Crear" /></form>
En el controlador obtenemos el objeto con params[:publication]
check_box
radio_button
sábado 28 de agosto de 2010
![Page 92: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/92.jpg)
Model helpers<%= form @publication do |f| %> <%= f.label :message %> <%= f.text_field :message %> <%= f.submit("Crear") %><% end %>
<form action="/publications" method="post"> <label for="message">Message</label> <input id="publication_message" name="publication[name]" type="text" /> <input name="commit" type="submit" value="Crear" /></form>
En el controlador obtenemos el objeto con params[:publication]
check_box
radio_button
text_area
sábado 28 de agosto de 2010
![Page 93: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/93.jpg)
Model helpers<%= form @publication do |f| %> <%= f.label :message %> <%= f.text_field :message %> <%= f.submit("Crear") %><% end %>
<form action="/publications" method="post"> <label for="message">Message</label> <input id="publication_message" name="publication[name]" type="text" /> <input name="commit" type="submit" value="Crear" /></form>
En el controlador obtenemos el objeto con params[:publication]
check_box
radio_button
text_area
password_field
sábado 28 de agosto de 2010
![Page 94: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/94.jpg)
Model helpers<%= form @publication do |f| %> <%= f.label :message %> <%= f.text_field :message %> <%= f.submit("Crear") %><% end %>
<form action="/publications" method="post"> <label for="message">Message</label> <input id="publication_message" name="publication[name]" type="text" /> <input name="commit" type="submit" value="Crear" /></form>
En el controlador obtenemos el objeto con params[:publication]
check_box
radio_button
text_area
password_field
hidden_field
sábado 28 de agosto de 2010
![Page 95: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/95.jpg)
Model helpers<%= form @publication do |f| %> <%= f.label :message %> <%= f.text_field :message %> <%= f.submit("Crear") %><% end %>
<form action="/publications" method="post"> <label for="message">Message</label> <input id="publication_message" name="publication[name]" type="text" /> <input name="commit" type="submit" value="Crear" /></form>
En el controlador obtenemos el objeto con params[:publication]
check_box
radio_button
text_area
password_field
hidden_field
select
sábado 28 de agosto de 2010
![Page 96: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/96.jpg)
Otros helpers
sábado 28 de agosto de 2010
![Page 97: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/97.jpg)
Otros helpersJavascript
<%= javascript_include_tag ‘applications’, ‘tools’ %>
<%= javascript_include_tag :all %>
<%= javascript_include_tag ‘application’, ‘tools’, :cache => true %>
sábado 28 de agosto de 2010
![Page 98: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/98.jpg)
Otros helpersJavascript
<%= javascript_include_tag ‘applications’, ‘tools’ %>
<%= javascript_include_tag :all %>
<%= javascript_include_tag ‘application’, ‘tools’, :cache => true %>
Stylesheet<%= stylesheet_link_tag ‘application’, ‘admin’ %>
<%= stylesheet_link_tag :all %>
<%= stylesheet_link_tag ‘application’, ‘admin’, :cache => true %>
sábado 28 de agosto de 2010
![Page 99: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/99.jpg)
Otros helpersEstos helpers esperan encontrar los archivos en /public
Javascript<%= javascript_include_tag ‘applications’, ‘tools’ %>
<%= javascript_include_tag :all %>
<%= javascript_include_tag ‘application’, ‘tools’, :cache => true %>
Stylesheet<%= stylesheet_link_tag ‘application’, ‘admin’ %>
<%= stylesheet_link_tag :all %>
<%= stylesheet_link_tag ‘application’, ‘admin’, :cache => true %>
Image tag<%= image_tag ‘header.png’ %>
sábado 28 de agosto de 2010
![Page 100: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/100.jpg)
Otros helpersEstos helpers esperan encontrar los archivos en /public
/javascripts
Javascript<%= javascript_include_tag ‘applications’, ‘tools’ %>
<%= javascript_include_tag :all %>
<%= javascript_include_tag ‘application’, ‘tools’, :cache => true %>
Stylesheet<%= stylesheet_link_tag ‘application’, ‘admin’ %>
<%= stylesheet_link_tag :all %>
<%= stylesheet_link_tag ‘application’, ‘admin’, :cache => true %>
Image tag<%= image_tag ‘header.png’ %>
sábado 28 de agosto de 2010
![Page 101: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/101.jpg)
Otros helpersEstos helpers esperan encontrar los archivos en /public
/javascripts
/stylesheets
Javascript<%= javascript_include_tag ‘applications’, ‘tools’ %>
<%= javascript_include_tag :all %>
<%= javascript_include_tag ‘application’, ‘tools’, :cache => true %>
Stylesheet<%= stylesheet_link_tag ‘application’, ‘admin’ %>
<%= stylesheet_link_tag :all %>
<%= stylesheet_link_tag ‘application’, ‘admin’, :cache => true %>
Image tag<%= image_tag ‘header.png’ %>
sábado 28 de agosto de 2010
![Page 102: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/102.jpg)
Otros helpersEstos helpers esperan encontrar los archivos en /public
/javascripts
/stylesheets
/images
Javascript<%= javascript_include_tag ‘applications’, ‘tools’ %>
<%= javascript_include_tag :all %>
<%= javascript_include_tag ‘application’, ‘tools’, :cache => true %>
Stylesheet<%= stylesheet_link_tag ‘application’, ‘admin’ %>
<%= stylesheet_link_tag :all %>
<%= stylesheet_link_tag ‘application’, ‘admin’, :cache => true %>
Image tag<%= image_tag ‘header.png’ %>
sábado 28 de agosto de 2010
![Page 103: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/103.jpg)
Otros helpersEstos helpers esperan encontrar los archivos en /public
/javascripts
/stylesheets
/images
Javascript<%= javascript_include_tag ‘applications’, ‘tools’ %>
<%= javascript_include_tag :all %>
<%= javascript_include_tag ‘application’, ‘tools’, :cache => true %>
Stylesheet<%= stylesheet_link_tag ‘application’, ‘admin’ %>
<%= stylesheet_link_tag :all %>
<%= stylesheet_link_tag ‘application’, ‘admin’, :cache => true %>
Image tag<%= image_tag ‘header.png’ %>
Link to<%= link_to ‘Nuevo’, new_publication_path %>
sábado 28 de agosto de 2010
![Page 104: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/104.jpg)
Ajax en el cliente
sábado 28 de agosto de 2010
![Page 105: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/105.jpg)
Ajax en el clienteEs no obstructivo en Rails 3.0
sábado 28 de agosto de 2010
![Page 106: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/106.jpg)
Ajax en el clienteEs no obstructivo en Rails 3.0
Es agnósticos, podemos reemplazar prototype por jquery
sábado 28 de agosto de 2010
![Page 107: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/107.jpg)
Ajax en el clienteEs no obstructivo en Rails 3.0
Es agnósticos, podemos reemplazar prototype por jquery
Usa HTML5 para agregar atributos
sábado 28 de agosto de 2010
![Page 108: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/108.jpg)
Ajax en el clienteEs no obstructivo en Rails 3.0
Es agnósticos, podemos reemplazar prototype por jquery
Usa HTML5 para agregar atributos
No hay helpers especiales
sábado 28 de agosto de 2010
![Page 109: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/109.jpg)
Ajax en el clienteEs no obstructivo en Rails 3.0
Es agnósticos, podemos reemplazar prototype por jquery
Usa HTML5 para agregar atributos
No hay helpers especiales
sábado 28 de agosto de 2010
![Page 110: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/110.jpg)
Ajax en el clienteEs no obstructivo en Rails 3.0
Es agnósticos, podemos reemplazar prototype por jquery
Usa HTML5 para agregar atributos
No hay helpers especiales
No ajax<%= link_to ‘Mi link’, algun_path %>
<% form_for @modelo do |m| %>
sábado 28 de agosto de 2010
![Page 111: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/111.jpg)
Ajax en el clienteEs no obstructivo en Rails 3.0
Es agnósticos, podemos reemplazar prototype por jquery
Usa HTML5 para agregar atributos
No hay helpers especiales
No ajax<%= link_to ‘Mi link’, algun_path %>
<% form_for @modelo do |m| %>
Con ajax<%= link_to ‘Mi link’, algun_path, :remote => true %>
<% form_for (@modelo, :remote => true) do |m| %>
sábado 28 de agosto de 2010
![Page 112: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/112.jpg)
Ajax en el clienteEs no obstructivo en Rails 3.0
Es agnósticos, podemos reemplazar prototype por jquery
Usa HTML5 para agregar atributos
No hay helpers especiales
No ajax<%= link_to ‘Mi link’, algun_path %>
<% form_for @modelo do |m| %>
Con ajax<%= link_to ‘Mi link’, algun_path, :remote => true %>
<% form_for (@modelo, :remote => true) do |m| %>
Atributos HTML5
sábado 28 de agosto de 2010
![Page 113: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/113.jpg)
Ajax en el clienteEs no obstructivo en Rails 3.0
Es agnósticos, podemos reemplazar prototype por jquery
Usa HTML5 para agregar atributos
No hay helpers especiales
No ajax<%= link_to ‘Mi link’, algun_path %>
<% form_for @modelo do |m| %>
Con ajax<%= link_to ‘Mi link’, algun_path, :remote => true %>
<% form_for (@modelo, :remote => true) do |m| %>
Atributos HTML5data-remote
sábado 28 de agosto de 2010
![Page 114: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/114.jpg)
Ajax en el clienteEs no obstructivo en Rails 3.0
Es agnósticos, podemos reemplazar prototype por jquery
Usa HTML5 para agregar atributos
No hay helpers especiales
No ajax<%= link_to ‘Mi link’, algun_path %>
<% form_for @modelo do |m| %>
Con ajax<%= link_to ‘Mi link’, algun_path, :remote => true %>
<% form_for (@modelo, :remote => true) do |m| %>
Atributos HTML5data-remotedata-method
sábado 28 de agosto de 2010
![Page 115: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/115.jpg)
Ajax en el clienteEs no obstructivo en Rails 3.0
Es agnósticos, podemos reemplazar prototype por jquery
Usa HTML5 para agregar atributos
No hay helpers especiales
No ajax<%= link_to ‘Mi link’, algun_path %>
<% form_for @modelo do |m| %>
Con ajax<%= link_to ‘Mi link’, algun_path, :remote => true %>
<% form_for (@modelo, :remote => true) do |m| %>
Atributos HTML5data-remotedata-methoddata-confirm
sábado 28 de agosto de 2010
![Page 116: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/116.jpg)
Ajax en el clienteEs no obstructivo en Rails 3.0
Es agnósticos, podemos reemplazar prototype por jquery
Usa HTML5 para agregar atributos
No hay helpers especiales
No ajax<%= link_to ‘Mi link’, algun_path %>
<% form_for @modelo do |m| %>
Con ajax<%= link_to ‘Mi link’, algun_path, :remote => true %>
<% form_for (@modelo, :remote => true) do |m| %>
Atributos HTML5data-remotedata-methoddata-confirmdata-disable-with
sábado 28 de agosto de 2010
![Page 117: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/117.jpg)
Ajax en el server
sábado 28 de agosto de 2010
![Page 118: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/118.jpg)
Ajax en el serverSi queremos jquery en lugar de prototype
sábado 28 de agosto de 2010
![Page 119: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/119.jpg)
Ajax en el serverSi queremos jquery en lugar de prototype
Agregamos jquery a javascripts
sábado 28 de agosto de 2010
![Page 120: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/120.jpg)
Ajax en el serverSi queremos jquery en lugar de prototype
Agregamos jquery a javascripts
Borramos prototype
sábado 28 de agosto de 2010
![Page 121: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/121.jpg)
Ajax en el serverSi queremos jquery en lugar de prototype
Agregamos jquery a javascripts
Borramos prototype
Descargamos rails.js de http://github.com/rails/jquery-ujs/tree/master/src/ a javascript
Agregamos la referencia en javascript_include_tag
sábado 28 de agosto de 2010
![Page 122: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/122.jpg)
Ajax en el serverSi queremos jquery en lugar de prototype
Agregamos jquery a javascripts
Borramos prototype
Descargamos rails.js de http://github.com/rails/jquery-ujs/tree/master/src/ a javascript
Agregamos la referencia en javascript_include_tag
Crear una vista <accion>.js.erb
sábado 28 de agosto de 2010
![Page 123: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/123.jpg)
Ajax en el serverSi queremos jquery en lugar de prototype
Agregamos jquery a javascripts
Borramos prototype
Descargamos rails.js de http://github.com/rails/jquery-ujs/tree/master/src/ a javascript
Agregamos la referencia en javascript_include_tag
Crear una vista <accion>.js.erb
Esta vista combina javascript y Ruby
sábado 28 de agosto de 2010
![Page 124: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/124.jpg)
Ajax en el serverSi queremos jquery en lugar de prototype
Agregamos jquery a javascripts
Borramos prototype
Descargamos rails.js de http://github.com/rails/jquery-ujs/tree/master/src/ a javascript
Agregamos la referencia en javascript_include_tag
Crear una vista <accion>.js.erb
Esta vista combina javascript y Ruby
Por seguridad usamos protect_from_forgery en ApplicationController
sábado 28 de agosto de 2010
![Page 125: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/125.jpg)
Recursoshttp://edgeguides.rubyonrails.org
http://rubyonrails.org/screencasts/rails3/
http://railscasts.com/
http://groups.google.com/group/tijuanarb
http://rails.mx
sábado 28 de agosto de 2010
![Page 126: Desarrollando Con RoR - Vistas](https://reader031.vdocuments.mx/reader031/viewer/2022020105/55238bf14a79595d5e8b4cf1/html5/thumbnails/126.jpg)
GraciasDesarrollando en Ruby On Rails
Mario Alberto Chávez Cárdenashttp://www.decisionesinteligentes.com
@mario_chavez
sábado 28 de agosto de 2010