Tôi đang sử dụng một viên ngọc phát minh cho các thủ tục đăng nhập / đăng nhập.
Tôi đã tạo các tệp xem từ phát minh, sử dụng rails g devise views
Tôi thấy có một tệp devise / session / new.html.erb có chứa một biểu mẫu cho Sign_in.
Tôi đã tạo một tệp khác devise / session / _form.html.erb và đã làm <%= render 'form' %>
trong một tệp new.html.erb và điều đó đã hoạt động rất tốt.
Bây giờ, tôi muốn bao gồm biểu mẫu này từ bộ điều khiển khác nhau. Vì vậy, trong một bộ điều khiển có tên 'chính', (cụ thể, trong trang xem) 'tệp chính / index.html.erb' tôi đã bao gồm <%= render 'devise/sessions/form' %>
. Có vẻ như bao gồm hoạt động tốt, nhưng tôi nhận được lỗi sau.
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:
Có vẻ như phần form_for (resource, ...) đang gây ra sự cố (hoạt động tốt nếu tôi ở trang đăng nhập dev_in ban đầu ... Làm cách nào tôi có thể giải quyết vấn đề này theo cách rails?
Cá nhân tôi thích sử dụng chức năng 'kết xuất' để bao gồm biểu mẫu, thay vì viết mã html nội tuyến.
Tôi có phải chỉ định một cái gì đó (tài nguyên) trong bộ điều khiển 'chính' không?
Tôi sẽ đánh giá cao sự giúp đỡ của bạn. Cảm ơn bạn.