相关疑难解决方法(0)

如果没有删除链接,则Rspec测试为destroy

我正在浏览railstutorial.org上的最新rails指南,我仍然坚持参加某项练习(http://ruby.railstutorial.org/chapters/updating-showing-and-deleting-users#sec:updating_deleting_exercises上的#8 ).你必须写一个rspec/capybara测试,以确保管理员不能删除自己.我有实施工作,但无法让测试工作正常.这是我的代码.我在这里发现了类似的问题:Ruby on Rails语法https://getsatisfaction.com/railstutorial/topics/how_to_prevent_admin_user_from_deleting_theself.但我认为这是一个较旧的教程而不是同一个问题.

以下是spec/requests/user_pages_spec.rb中的相关代码:

describe "User pages" do
  subject { page }
    describe "delete links" do
      describe "as an admin user" do
        let(:admin) { FactoryGirl.create(:admin) }
        before do
          sign_in admin
          visit users_path
        end
        it "should not be able to delete themself" do
          expect { admin.delete }.should_not change(User, :count)
        end
      end
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

错误消息表示用户数减少了1.

为了完整性,这是我的(工作)实现:

class UsersController < ApplicationController
  before_filter :current_admin,     only: :destroy
  def current_admin
  @user = User.find(params[:id])
    redirect_to users_path, notice: "Cannot delete …
Run Code Online (Sandbox Code Playgroud)

rspec ruby-on-rails

3
推荐指数
2
解决办法
6106
查看次数

标签 统计

rspec ×1

ruby-on-rails ×1