tengo un codigo q repito en varias vistas y tendria q ir en una funcion
el codigo hace calculos con valores y lo saca por pantalla
(<%= @actividad.cuantoscursos%> empleados* 10€ = <%=
@actividad.cuantoscursos* 10 %>€)
pero no se si tiene q ir en una funcion en el application y entonces no
se como sacarlo por pantalla
o dentro de un parcial <%= render(:partial => “/calculo”) %>
y entonces no se como pasar las variables.
donde tendria q ir en una funcion o en un parcial?
fernando wrote:
tengo un codigo q repito en varias vistas y tendria q ir en una funcion
Utiliza helpers. Un helper es simplemente un módulo que contiene métodos
que asisten a una vista. Los métodos helper estan orientados básicamente
a retornarte salida. Existen para generar HTML (ó XML), un helper
extiende el comportamiento de una plantilla. Cuando generas el
controlador, generate te genera también el helper en la carpeta
app/helpers. Por ejemplo si tienes un controlador PostsController en
posts_controller.rb, generate automáticamente te generó posts_helper.rb
en app/helpers.
Los métodos que agregues al módulo PostsHelper estarán disponibles para
todas las vistas del controlador PostsController.
En una de las vistas de PostsController :
<%= saludo(“Hola mundo”) %>
En posts_helper.rb :
module PostsHelper
def saludo(saludo)
content_tag(“p”, saludo)
end
end
Algunas veces tendrás la necesidad de compartir helpers para distintos
controladores, tienes 2 posibilidades:
-
Agrega tu método helper al archivo application_helper.rb.
-
Podemos decirle a los controladores que incluyan módulos helper
adicionales mediante la declaración helper :
class OtroController < ApplicationController
helper :posts_helper
…
Te recomiendo que leas :
http://wiki.rubyonrails.com/rails/pages/HowtoWorkWithHelpers
Espero te sirva.
Jaime Mora R.