Sign_in / sign_out prosedürleri için bir tasarım mücevher kullanıyorum.
Kullanarak, devise'dan görünüm dosyaları oluşturdum rails g devise views
Sign_in için bir form içeren bir devise / sessions / new.html.erb dosyası olduğunu gördüm.
Başka bir dosya devise / sessions / _form.html.erb oluşturdum ve <%= render 'form' %>
bir new.html.erb dosyası içinde yaptım ve bu çok iyi sonuç verdi.
Şimdi, bu formu farklı denetleyiciden eklemek istedim. Yani 'main' adlı bir denetleyiciye, (özellikle görünüm sayfası içinde) 'mains / index.html.erb' <%= render 'devise/sessions/form' %>
dosyasını ekledim . Görünüşe göre dahil etme iyi çalıştı, ancak aşağıdaki hatayı alıyorum.
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:
Form_for (resource, ...) kısmı soruna neden oluyor gibi görünüyor (eğer orijinal oturum açma sayfasındaysam iyi çalışıyor ... Bu sorunu raylar şeklinde nasıl çözebilirim?
Ben şahsen html kodlarını satır içi yazmak yerine, formu dahil etmek için 'render' fonksiyonunu kullanmayı tercih ediyorum.
'Ana' denetleyicide bir şey (kaynak) belirtmem gerekiyor mu?
Yardımını takdir edeceğim. Teşekkür ederim.