我與投給超級簡單的身份驗證 http://railscasts.com/episodes/21-super-simple-authentication 我使用的是軌道3,所以我改變了路線,從會話控制器用戶是這樣的名字還真所有鋼軌下沿變化。超級簡單的身份驗證railscast
我遇到了一個問題,在屏幕錄像中它具有下面的new.html.erb文件。
<div class="content">
<p>
<% form_tag user_path do %>
Password: <%= text_field_tag :password %>
<%end%>
</p>
</div>
當我嘗試這個,我得到一個錯誤http://localhost:3000/login
沒有路由匹配{:動作=> 「秀」,:控制器=> 「用戶」}
當我用耙子查看我的路線我得到這個。
user_index GET /user(.:format) user#index
POST /user(.:format) user#create
new_user GET /user/new(.:format) user#new
edit_user GET /user/:id/edit(.:format) user#edit
user GET /user/:id(.:format) user#show
PUT /user/:id(.:format) user#update
DELETE /user/:id(.:format) user#destroy
login /login(.:format) user#new
logout /logout(.:format) user#destroy
在我的路線文件中,我有這個。
resources :user
match 'login' => 'user#new'
match 'logout' => 'user#destroy'
所以我不知道該怎麼辦屏幕蒙上文件與線<%的form_tag user_path工作要做%> 如果我改變,要new_user_path那麼它帶給我的new.html.erb頁。但是現在 密碼:<%= text_field_tag:password%>字段不會顯示在頁面上。我在這裏做錯了什麼。
UPDATE:
所以我創建了一個叫做會話,而不是我的用戶控制器,它不應該有差別的控制器,但基於SHUMAcupcake評論我做錯了,我決定刪除我的用戶控制器和就像屏幕演播一樣創建一個叫做會話。正如我懷疑同樣的問題發生。現在唯一的區別是我所有的路由都被命名爲會話,而不是用戶所期望的。
是的我已經重新啓動我的應用程序,仍然是同樣的問題。請查看我的rake路由輸出,您可以看到user_path將進入show動作,而不是根據屏幕顯示的內容 - 將其轉換爲創建動作。
你有創建和銷燬你的用戶控制器的方法嗎?你需要一個sumbit_tag發送表單中的數據 – SHUMAcupcake
是的SHUMAcupcake我有創建和銷燬方法,就像屏幕轉換在我的UserController中。我甚至無法添加提交標籤,因爲您可以看到如果您通讀我的帖子它說我得到一個錯誤,因爲<%form_tag user_path do%>錯誤沒有路由匹配{:action =>「show」, :controller =>「user」} – Chapsterj
根據我的路線,user_path行將進入show動作,以便在screencast中如何執行新動作。當新的操作是new_user_path時。這沒有意義。 – Chapsterj