Donde tendria q ir en una funcion o en un parcial?


#1

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?


#2

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:

  1. Agrega tu método helper al archivo application_helper.rb.

  2. 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.