gpt4 book ai didi

ruby-on-rails - RailsTutorial 登录 flash 不工作

转载 作者:数据小太阳 更新时间:2023-10-29 07:37:00 25 4
gpt4 key购买 nike

我正在尝试让错误闪现出现在 railstutorial.org 示例应用程序中。到目前为止,这就是我所做的。谁能帮我找出错误:

我的 RSPEC 测试失败:

1) SessionsController POST 'create' invalid signin should have a flash.now message
Failure/Error: flash.now[:error].should =~ /invalid/i
expected: /invalid/i
got: nil (using =~)
./spec/controllers/sessions_controller_spec.rb:27

Controller 代码:

def create
user = User.authenticate(params[:session][:email],
params[:session][:password])
if user.nil?
flash.now[:error] = "Invalid email/password combination."
@title = "Sign in"
render 'new'
else
# Sign the user in and redirect to the user's show page.
end
end

测试代码:

describe "POST 'create'" do

describe "invalid signin" do

before(:each) do
@attr = { :email => "example@gmail.com", :password => "invalid"}
end

it "should re-render the new page" do
post :create, :session => @attr
response.should render_template('new')
end
it "should have a flash.now message" do
post :create, :session => @attr
flash.now[:error].should =~ /invalid/i
end
end

最佳答案

看起来在您的 app/controllers/sessions_controller.rb 中您有一个 second 创建方法在底部声明,它只是说:

def create
render 'new'
end

第二个声明将取代您在文件前面的预期创建方法。只需删除这三行(您文件中的 20-22 行),您的规范就会以优异的成绩通过,我的意思是只有一种颜色,即绿色。

关于ruby-on-rails - RailsTutorial 登录 flash 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5943463/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com