2016-03-16 3 views
0

Я пытаюсь создать пользовательскую форму для входа в систему с помощью приложения. Это код, у меня естьКак создать пользовательскую форму для отправки на user_session_path в разработке

<h2>login</h2> 

<%= form_for(:user, :url => user_session_path) do |f| %> 

    <div class="field"> 
    <%= f.label :email %><br /> 
    <%= f.email_field :email, autofocus: true %> 
    </div> 

    <div class="field"> 
    <%= f.label :password %> 
    <% if @minimum_password_length %> 
    <em>(<%= @minimum_password_length %> characters minimum)</em> 
    <% end %><br /> 
    <%= f.password_field :password, autocomplete: "off" %> 
    </div> 

    <div class="actions"> 
    <%= f.submit "Login" %> 
    </div> 
<% end %> 

<%= render "devise/shared/links" %> 

Я создал пользовательскую модель с помощью завещанию. Я получаю следующее сообщение об ошибке

undefined local variable or method `resource_name' for #<#<Class:0x007f8e54d29468>:0x007f8e49dd7500> 
<%= link_to "Log in", new_session_path(resource_name) %><br /> 

Это источник я следовал Getting devise sign_in form into Twitter Bootstrap Modal

+0

удалить это '<% = визуализации«изобрести/Shared/ссылки»%>' и попробовать .. Вам нужно отредактировать 'разработать/Shared/links' частичной, если вы хотите, чтобы показать эти ссылки как частичные есть. Потому что вы переопределяете представления по умолчанию Devise и, возможно, контроллеры тоже. –

ответ

0

См: https://github.com/plataformatec/devise/wiki/How-To:-Display-a-custom-sign_in-form-anywhere-in-your-app

Если вы настроили следующее в вашем application_helper.rb -

helper_method :resource_name, :resource, :devise_mapping 
def resource_name 
:user 
end 

def resource 
@resource ||= User.new 
end 

def devise_mapping 
@devise_mapping ||= Devise.mappings[:user] 
end 

Тогда вы должны быть в состоянии сделать foll обязанный -

form_for(resource, :as => resource_name) 
Смежные вопросы