Jestem naprawdę nowy dla Railsów i próbuję skonfigurować plik modułu, który będzie używany w widoku. Uważam, że prawidłowe zachowanie jest zdefiniowanie modułu jako pomocnika w kontrolerze i voila, powinno działać. Jednak nie dotyczy to mnie. Oto struktura.Szyny - zawierają moduł do kontrolera, który ma być używany w widoku
lib
functions
-- form_manager.rb
form_manager.rb:
Module Functions
Module FormManager
def error_message() ...
end
end
end
users_controller.rb
class UsersController < ApplicationController
helper FormManager
def new ...
Dobrze, struktura jest jak wyżej i kiedy wezwać ERROR_MESSAGE z new.html.erb
daje mi błąd: uninitialized constant UsersController::FormManager
.
Przede wszystkim wiem, że w szynach 3 lib nie jest ładowane automatycznie. Zakładając, że automatyczne ładowanie folderu lib nie jest obowiązkowe, jak mogę je wykonać i czego brakuje?
BTW, proszę nie mówić, że to pytanie jest duplikatem. Mówię ci, że szukałem tego bzdura przez prawie 2 dni.
To zadziałało, wielkie dzięki! :) Jeśli jednak usunę pomocnika, to nie działa, więc lepiej zostaw to tak, jak jest :) BTW, czy nie ma innej metody oprócz autoloadingu? Ponieważ uważam, że po autoloadowaniu, nawet jeśli nie korzystasz z modułu, zostanie on załadowany. I drugie pytanie: czy powinienem wymienić każdą metodę w module, tak jak w przypadku metody włączonej? (Mam na myśli, podobnie jak m.helper_method: create_form, m.helper_method: destroy_form etc ...) –
Hm, nie działa bez 'helper'? Dziwne. Zaktualizowano wpis odpowiedziami. Powinieneś był zadać to pytanie wcześniej, przykro mi, że zmarnowałeś 2 dni na to :( – shime
Nie działa również bez autoload. Chyba będę musiał trzymać się autoload. Jeszcze raz dziękuję! –