Estou usando uma gema de projeto para procedimentos sign_in / sign_out.
Gerei arquivos de visualizações a partir do dispositivo, usando rails g devise views
Vi que havia um arquivo devise / sessions / new.html.erb que continha um formulário para sign_in.
Criei outro arquivo devise / sessions / _form.html.erb e o fiz <%= render 'form' %>
dentro de um arquivo new.html.erb, e isso funcionou muito bem.
Agora, eu queria incluir este formulário do controlador diferente. Assim, em um controlador chamado 'main', (especificamente, na página de visualização) 'mains / index.html.erb', incluí o <%= render 'devise/sessions/form' %>
arquivo. Parece que a inclusão funcionou bem, mas estou recebendo o seguinte erro.
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:
Parece que a parte form_for (resource, ...) está causando o problema (o que funciona bem se eu estiver na página original de sign_in do dispositivo ... Como posso resolver esse problema de maneira rails?
Pessoalmente, prefiro usar a função 'render' para incluir o formulário, em vez de escrever códigos html embutidos.
Preciso especificar algo (recurso) dentro do controlador 'principal'?
Agradeço sua ajuda. Obrigado.