- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在学习 http://ruby.railstutorial.org 上的教程
具体来说,第 9 章 (9.2.3) http://ruby.railstutorial.org/chapters/updating-showing-and-deleting-users#top
当用户在访问受限页面时收到登录提示,然后在成功登录后被重定向回受限页面时,我已经设法解决了这个问题。
我试图让它在一个重定向到 protected 页面后,下一次登录尝试将直接返回到主用户配置文件页面,但是,session.delete(:return_to)
似乎没有工作,用户被反复引导回最初保存的 protected 页面。这是我的代码:
我的 session Controller :
class SessionsController < ApplicationController
def new
end
def create
user = User.find_by_email(params[:session][:email])
if user && user.authenticate(params[:session][:password])
sign_in user
redirect_back_or user
# Sign the user in and redirect to the user's show page.
else
# Create an error message and re-render the signin form.
flash.now[:error] = 'Invalid email/password combination'
render 'new'
end
end
...
end
我的 session 助手:
module SessionsHelper
def sign_in(user)
cookies.permanent[:remember_token] = user.remember_token
self.current_user = user
end
def signed_in?
!current_user.nil?
end
def current_user=(user)
@current_user = user
end
def current_user
@current_user ||= User.find_by_remember_token(cookies[:remember_token])
end
def current_user?(user)
user == current_user
end
def sign_out
self.current_user = nil
cookies.delete(:remember_token)
end
def redirect_back_or(default)
redirect_to(session[:return_to] || default)
session.delete(:return_to)
end
def store_location
session[:return_to] = request.url
end
end
如果您能提供任何帮助,那就太棒了!似乎 session.delete()
根本不起作用。
最佳答案
下面的 block 解决了它。无需更改任何其他内容。
def signed_in_user
unless signed_in?
store_location
redirect_to signin_url, notice: "Please sign in." #unless signed_in?
end
end
关于ruby-on-rails - RailsTutorial.org Chapter9 session.delete 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12517561/
app/helpers/sessions_helper.rb module SessionsHelper def sign_in(user) cookies.permanent[
在 rubyrailstutorial.org 之后达到内存限制 你好, 我正在关注 Ruby Rails Tutorial 上的教程我正在使用 Cloud9 IDE但是,在运行本教程时,我不断收
我正在研究 Michael Hartl Railstutorial.org - 第 10 章 - 密码重置。我在开发环境(Cloud9)配置了邮件,邮件就发了。一切正常,直到用户单击系统发送的电子邮件
在第 7 章中,我使用 获得以下输出 --- !ruby/hash-with-ivars:ActionController::Parameters elements: controller: st
在 Ruby on Rails 3 教程的 6.2.4 节中,Michael Hartl 描述了一个关于检查电子邮件地址唯一性的警告:如果两个相同的请求及时接近,请求 A 可以通过验证,然后 B 通过
我正在尝试关注 Rails Tutorial,但我的 rspec 失败了,但在浏览器中,该应用程序可以按需运行。那是当我登录(在浏览器中)并转到“http://localhost:3000/users
我正在尝试关注 railstutorial.org,目前在第 7 章,您开始使用工厂:http://railstutorial.org/chapters/modeling-and-viewing-us
我正在尝试让错误闪现出现在 railstutorial.org 示例应用程序中。到目前为止,这就是我所做的。谁能帮我找出错误: 我的 RSPEC 测试失败: 1) SessionsController
在11.2.5部分在 Railstutorial(.org) 的 Rails 3.2 版本中,我无法让所有的https://relationships_controller_spec.rb 测试通过,
我是 Rails 的新手,所以请原谅以下菜鸟问题并提前致谢... 我正在关注 rails tutorial然而,一旦我到达第 9.12 节,我们将忘记逻辑添加到 sessions_helper.rb,
在阅读 Michael Hartl 的 railstutorial.org 时,我进入了第 8 章(特别是 8.2.3)。当前的问题是实现一个 session 以保持用户在多个 View 中登录,但是
在railstutorial中,作者为什么选择使用这个(代码 list 10.25): http://ruby.railstutorial.org/chapters/updating-showing-
这个想法是为了让管理员用户无法 self 毁灭。我写了以下测试: describe "as admin user" do let(:admin) { FactoryGirl.create(:adm
这个想法是为了让管理员用户无法 self 毁灭。我写了以下测试: describe "as admin user" do let(:admin) { FactoryGirl.create(:adm
我正在学习 http://ruby.railstutorial.org 上的教程 具体来说,第 9 章 (9.2.3) http://ruby.railstutorial.org/chapters/u
我没有从 Hartl 的 Rails 教程中得到以下练习的答案: By replacing the question marks in Listing 4.10 with the appropriat
我正在关注 rails 教程并被困在第 1.4.3 章 Bitbucket 上。 https://www.railstutorial.org/book/beginning#sec-bitbucket
我已完成 Chapter 6 of railstutorial但我所有的 User model specs在我添加 password 后不久就开始失败& password_confirmation有以
我在 Section 11.3.1的 Rails 教程,所有测试都在此之前通过。之后,主页(有微博提要)因以下错误而中断: PG::Error: ERROR: invalid input synta
示例代码: assert_select 'div#' assert_select 'div.' 这会产生:弃用警告:由于无效的 css 选择器,断言未运行。 ] 16% 时间:00:00:01,预计到
我是一名优秀的程序员,十分优秀!