Я использую драгоценный камень для процедур sign_in/sign_out.Форма разработки в другом контроллере
я сгенерировал просмотр файлов из завещанию, используя rails g devise views
я увидел там был DEViSE/сессии/new.html.erb файл, который содержит форму для sign_in.
Я создал другой файл dev/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 (ресурс, ...) часть вызывает проблему (которая работает нормально, если я на оригинальном DEViSE sign_in страницы ... Как я могу решить эту проблему в рельсах пути?
Я лично предпочитаю использовать «визуализации» функции, чтобы включить форму, а не писать HTML-коды рядный.
должен ли я указать кое-что (ресурса) в рамках «основного» контроллера?
Я буду оцените вашу помощь.
Есть ли какое-нибудь решение ...? По состоянию на ноябрь/16 я не получил решение с помощью рендеринга. Хотя, если я просто набираю встроенный код, он отлично работает, кажется .. – user482594
Вы нашли решение для этого? – neebz
Да, я выбрал ответ, который решает мою проблему. Это было проще, чем я думал. – user482594