Sto usando una gemma ideata per le procedure sign_in / sign_out.
Ho generato i file delle viste da ideare, usando rails g devise views
Ho visto che c'era un file devise / sessioni / new.html.erb che conteneva un modulo per sign_in.
Ho creato un altro file devise / sessioni / _form.html.erb e fatto <%= render 'form' %>
all'interno di un file new.html.erb, e ha funzionato molto bene.
Ora, volevo includere questo modulo dal diverso controller. Quindi in un controller chiamato 'main', (in particolare, all'interno della pagina di visualizzazione) 'mains / index.html.erb' ho incluso il <%= render 'devise/sessions/form' %>
file. Sembra che l'inclusione abbia funzionato bene, ma sto ottenendo il seguente errore.
NameError in Mains#index
Showing /home/administrator/Ruby/site_v4_ruby/app/views/devise/sessions/_form.html.erb where line #1 raised:
undefined local variable or method `resource' for #<#<Class:0x007f1aa042d530>:0x007f1aa042b870>
Extracted source (around line #1):
1: <%= form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f| %>
2: <p><%= f.label :email %><br />
3: <%= f.text_field :email %></p>
4:
Sembra che la parte form_for (risorsa, ...) stia causando il problema (che funziona benissimo se mi trovo sulla pagina sign_in originale ideare ... Come posso risolvere questo problema in modo rotaia?
Personalmente preferisco usare la funzione 'render' per includere il modulo, piuttosto che scrivere codici HTML in linea.
Devo specificare qualcosa (risorsa) all'interno del controller 'principale'?
Apprezzerò il tuo aiuto. Grazie.