註冊後,我將用戶重定向到他們可以選擇的路線,如果他們想爲他們的帳戶添加照片,但我希望此路線能夠訪問只有在他們註冊後,纔可以在「編輯帳戶」中添加照片,但即使他們在like/users/chosenphoto之後鍵入,我也不希望這條路線被允許。但它不工作,因爲仍然允許路由如何使一條路線被允許僅使用一次
所以,我希望這條路線只有一次(註冊後)可以訪問,所以後面即使他們登錄,他們也會嘗試輸入/ users/chosenphoto I希望它們被重定向到root_path
控制器
before_action :visited_chosephoto, only: [:add_photo]
...
def chose_photo
@user = current_user
end
def add_photo
@user = current_user
@user.update_attribute(:photo,params[:user][:photo])
@user.chosephoto_visited = true
@user.save
redirect_to root_path
end
用戶模型
def chosephoto_visited=(chosephoto_visited)
@chosephoto_visited = chosephoto_visited
end
def chosephoto_visited
@chosephoto_visited
end
方法
def visited_chosephoto
redirect_to root_path if current_user.chosephoto_visited
end
路線
get 'users/chosephoto' => "users#chose_photo", as: "chosephoto"
這不是如果用戶沒有登錄...在用戶註冊後我將他們重定向到/ users/chosenphoto,他們可以選擇一張照片...但後來即使他們登錄,我希望他們不要能夠去這條路線..我想讓這條路線只能使用一次(他們註冊後),因爲他們可以在「編輯個人資料」後面添加一張照片 – eustass
@ kushtrimh請查看更新的答案 – dimakura