的LoginController:無法存儲的cookie中的Rails
class LoginController < ApplicationController
def new
cookies[:id]=rand(1000)
render "index"
end
end
index.html.erb:
<body>
<center>
<h1> Login </h1>
<form action='login/auth' method='POST'>
Name: <input type="text" name="name" widht=20><br>
Password: <input type="password" name="pass" widht=20><br>
<input type="submit" value="submit">
</form>
</center>
<br><br>
</body>
我的要求是,如果登錄頁面被調用時,響應頁面應該以發送cookie。所以,我在 新動作中用隨機數字創建了一個cookie。但是「index.html」頁面在瀏覽器中沒有cookie。但是,如果「新」操作將其默認視圖文件 「new.html.erb」稱爲它,則其工作正常。爲什麼cookie只能在默認視圖中使用,而不能在其他視圖文件中使用。如何解決這個問題呢 ?
在這兩種情況下你的新動作是否被執行? –
@FrederickCheung我的意思是,只有當動作和視圖名稱相同時,才能訪問「cookies []」。例如:在提交表單'/ login/auth'時,auth.html.erb僅適用。如果我們故意渲染其他頁面,那麼Cookie不會隨該頁面一起提供。 – mrg