我最近開始使用Ruby on Rails,並使用Devise gem進行身份驗證。當我開始一個新的應用程序來嘗試Devise Gem時,工作得很好。但是,我使用的模板在主頁上有登錄和註冊表單。由於Devise創建了兩個新視圖,我不需要它們,我將不得不將這兩個視圖代碼移到我的home.html.erb文件中。登錄並註冊主頁
我遇到的問題是,在按照these steps後,表單被創建,我填寫用戶名和密碼,但按下提交按鈕什麼也沒有。此外,在提交底部創建了三個鏈接;登錄,註冊和忘記密碼,將我重定向到Devise創建的頁面,這是我試圖避免的頁面。
我看了很多地方,但沒有運氣。我有一個星期的RoR經驗和兩天的Devise Gem經驗,所以我必須做一些荒謬的事情。任何幫助?
這裏是登錄表單,我複製到我的home.html.erb文件
<%= form_for("user", :url => user_session_path) do |f| %>
<div><%= f.label :email %><br />
<%= f.email_field :email, :autofocus => true %></div>
<div><%= f.label :password %><br />
<%= f.password_field :password %></div>
<% if devise_mapping.rememberable? -%>
<div><%= f.check_box :remember_me %> <%= f.label :remember_me %></div>
<% end -%>
<div><%= f.submit "Sign in" %></div>
<% end %>
<%= render "devise/shared/links" %>
這裏是我的應用助手文件:
module ApplicationHelper
def resource_name
:user
end
def resource
@resource ||= User.new
end
def devise_mapping
@devise_mapping ||= Devise.mappings[:user]
end
end
和我的配置/路線.RB文件:
devise_for :users
root 'pages#home'
編輯建議的routes.rb
get "pages/home"
devise_for :users
devise_scope :users do
get "pages/home", :to => "devise/sessions#new"
post "https://stackoverflow.com/users/sign_in", :to => "devise/sessions#create", :as => :sign_in
end
還是沒有結果。
非常感謝您的回答。我編輯了我的問題,添加了我的routes.rb文件,然後在home.html.erb文件中編輯了該行。 我試過你的建議,現在主頁只顯示基本形式的Devise日誌。所以基本上,這將登錄的URL從/ users/sign_in更改爲/ pages/home。我的家庭觀點發生了什麼? – 2014-09-30 23:24:24
對不起,我以前的評論結果是錯誤的,我已經按照你的建議更新了我的routes.rb,但結果與以前一樣。在我的模板中登錄表單,點擊提交按鈕時沒有任何反應。 – 2014-09-30 23:41:59