मैं sign_in / sign_out प्रक्रियाओं के लिए डेविस रत्न का उपयोग कर रहा हूं।
मैं उपयोग से विचार फ़ाइलें उत्पन्न की, का उपयोग कर rails g devise views
मैंने देखा कि एक devise / session / new.html.erb फाइल थी जिसमें साइन_इन के लिए एक फॉर्म था।
मैंने एक और फ़ाइल डेविस / सत्र / _form.html.erb बनाया और एक नई.html.erb <%= render 'form' %>
फ़ाइल के भीतर किया, और इसने बहुत अच्छा काम किया।
अब, मैं इस फॉर्म को अलग-अलग कंट्रोलर से शामिल करना चाहता था। इसलिए 'मुख्य' नामक एक नियंत्रक में, (विशेषकर, दृश्य पृष्ठ के भीतर) 'मुख्य / index.html.erb' में मैंने <%= render 'devise/sessions/form' %>
फ़ाइल शामिल की । ऐसा लगता है कि समावेश ने ठीक काम किया है, लेकिन मुझे निम्नलिखित त्रुटि मिल रही है।
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 (संसाधन, ...) भाग समस्या का कारण बन रहा है (जो कि ठीक काम करता है अगर मैं मूल डेविस sign_in पृष्ठ पर हूं ... मैं रेल मार्ग में इस समस्या को कैसे हल कर सकता हूं?
मैं व्यक्तिगत रूप से HTML कोड इनलाइन लिखने के बजाय फ़ॉर्म को शामिल करने के लिए 'रेंडर' फ़ंक्शन का उपयोग करना पसंद करता हूं।
क्या मुझे 'मुख्य' नियंत्रक के भीतर कुछ (संसाधन) निर्दिष्ट करना है?
मै आपकी मदद की सरहना करता हूँ। धन्यवाद।