Tengo un método de clase en mi modelo, y necesito acceder a un método desde uno de mis ayudantes de visualización. Actualmente estoy incluyendo include TalkHelper
, pero sigo teniendo un NoMethodError.Rails 3 Ver el método de ayuda en el modelo
Respuesta
Puede colocar helper en su carpeta lib e incluirlas en cualquier parte. De esta manera: lib/some_helper.rb
module SomeHelper
def somedef
#your code there
end
end
Si necesita el ayudante en un método de la clase que había necesidad de que extend
, no include
ella.
module TalkHelper
def woo; 'hoo' end
end
class MyClass
extend TalkHelper
def self.boo; woo end
end
MyClass.boo #=> 'hoo'
Sólo tenga cuidado con los ayudantes fuera del contexto vista, como ayudantes pueden depender de controller
, o alguna otra cosa por el contexto de una solicitud, que no estará disponible en su modelo.
En su modelo, se puede hacer algo como lo siguiente:
ApplicationController.helpers.your_helper_method
O
YourController.helpers.your_helper_method
El mejor solución es refactorizar su código de manera que no es necesario llamar a ver el código auxiliar de todos los modelos. No es el camino RoR. Como otros señalan, puedes extraer el código auxiliar en la carpeta lib.
Ver este para obtener más información:
Terminé siguiendo sus consejos y refractando mi código para no tener que usar el método de ayuda en el modelo. – LanguagesNamedAfterCofee
- 1. Cómo usar el método de ayuda "number_to_currency" en el modelo en lugar de ver?
- 2. Método de llamada de ayuda del controlador Rails 3
- 3. Cómo crear el modelo sin tabla ActiveRecord en Rails 3
- 4. Rails 3 singularidad validar ignora ámbito predeterminado en el modelo
- 5. ¿Dónde convertir el modelo de negocio para ver el modelo?
- 6. ¿Cómo obtener el método actual en Rails 3?
- 7. Cambio de estilo móvil en Rails 3, método de ayuda frente a consultas de medios
- 8. Rails 3 ActiveRecord método de encadenamiento, bajo el capó
- 9. Rieles ver ayudantes en el archivo de ayuda
- 10. Rails 3: Usar HTML en i18n formar traducciones de ayuda
- 11. Rails 3. ordenar por modelo asociado
- 12. Rails 3 pasando el parámetro al nuevo método
- 13. Falta el método de uso en Rails
- 14. Ver helper link_to en la clase de modelo
- 15. ¿Cómo llamo a un método de ayuda de Rails desde dentro de otro método de ayuda?
- 16. Rails 3 cargando todos los modelos en el arranque
- 17. ASP.NET MVC 3 - Las mejores prácticas para el manejo de Modelo en Ver
- 18. ¿Cómo anular una columna en el modelo de Rails?
- 19. Cómo llamar a un método de modelo rails 3 en la consola
- 20. ¿Hay algún método de ayuda para la pluralización en Rails?
- 21. Ayuda con el método estático de C++
- 22. FactoryGirl + RSpec + Rails 3 'método indefinido <attribute> ='
- 23. Rails 3: método no definido `remote_form_for'
- 24. Rails 3 idee, current_user no es accesible en un modelo?
- 25. ¿Cómo cambiar el entorno en Rails 3?
- 26. Rails 3 tarea de rake no puede encontrar el modelo en producción
- 27. Enrutamiento de Rails 3 según el contexto
- 28. Rails 3 - ¿Puede Active_admin usar un modelo de usuario existente?
- 29. Llamar a un método en el modelo después de encontrar en Ruby on Rails
- 30. Cómo obtener url_para un objeto en el método de modelo en Rails
debe ser 'module' (en minúsculas)? –
seguro. ¡fijo! (15 símbolos) – railscard