rutas restful rails modelos modal formularios crear controlador bootstrap ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.2 view-helpers

ruby on rails - restful - ¿Dónde poner los métodos Ruby helper para los controladores Rails?



rutas en ruby on rails (5)

Debe definir el método dentro de ApplicationController .

Tengo algunos métodos de Ruby que ciertos (o todos) los controladores necesitan. Intenté ponerlos en /app/helpers/application_helper.rb . Lo he usado para los métodos que se utilizarán en las vistas. Pero los controladores no ven esos métodos. ¿Hay otro lugar en el que debería ponerlos o debo acceder a esos métodos de ayuda de forma diferente?

Usando los últimos rieles estables.


La respuesta de Ryan Bigg es buena.

Otra posible solución es agregar ayudantes a su controlador:

class YourController < ApplicationController include OneHelper include TwoHelper end

¡Atentamente!


Para Rails 4 en adelante, las preocupaciones son el camino a seguir. Hay un artículo decente aquí http://richonrails.com/articles/rails-4-code-concerns-in-active-record-models

Básicamente, si miras en la carpeta de tu controlador deberías ver una subcarpeta de inquietudes. Crea un módulo allí a lo largo de estas líneas

module EventsHelper def do_something end end

Luego, en el controlador simplemente inclúyalo

class BadgeController < ApplicationController include EventsHelper ... end


Puede llamar a cualquier método de ayuda desde un controlador utilizando view_context , por ejemplo

view_context.my_helper_method


debe definir métodos dentro del controlador de la aplicación, si tiene pocos métodos, entonces puede hacer lo siguiente

class ApplicationController < ActionController::Base helper_method :first_method helper_method :second_method def first_method ... #your code end def second_method ... #your code end end

También puede incluir archivos auxiliares de la siguiente manera

class YourController < ApplicationController include OneHelper include TwoHelper end