Я використовую розроблювальний камінь для процедур sign_in / sign_out.
Я генерував файли переглядів із програми, використовуючи rails g devise views
Я побачив, що був файл devise / session / new.html.erb, який містив форму для sign_in.
Я створив ще один файл devise / session / _form.html.erb і зробив <%= render 'form' %>
у файлі new.html.erb, і це вийшло дуже добре.
Тепер я хотів включити цю форму від різних контролерів. Тож у контролер, який називається "main", (зокрема, на сторінці перегляду) 'mains / 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-кодів inline.
Чи потрібно вказувати щось (ресурс) у "головному" контролері?
Я буду вдячний за вашу допомогу. Дякую.