- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这个想法是为了让管理员用户无法 self 毁灭。我写了以下测试:
describe "as admin user" do
let(:admin) { FactoryGirl.create(:admin) }
before { valid_signin admin }
describe "should not be able to delete himself by submitting a DELETE request to the Users#destroy action" do
specify do
expect { delete user_path(admin) }.not_to change(User, :count).by(-1)
end
end
end
并因此修改了销毁操作:
def destroy
@user = User.find(params[:id])
unless current_user?(@user)
User.find(params[:id]).destroy
flash[:success] = "User destroyed."
redirect_to users_url
end
end
(如果您是管理员用户,您只能访问销毁操作)。
测试现在应该通过了,但实际上没有。我收到以下错误消息:
Failure/Error: expect { delete user_path(admin) }.not_to change(User, :count).by(-1)
ActionView::MissingTemplate:
Missing template users/destroy, application/destroy with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :coffee]}.
我不明白缺少模板的错误信息,也不明白为什么测试没有通过。
最佳答案
尝试将您的 destroy
操作更改为类似这样的内容,看看您的测试是否通过:
def destroy
user = User.find(params[:id])
unless current_user?(user)
user.destroy
flash[:success] = "User destroyed."
else
flash[:error] = "You can't destroy yourself."
end
redirect_to users_url
end
我认为问题在于,如果您成功销毁用户,您只会重定向到 users_url
。如果你不这样做(即管理员试图 self 毁灭),那么就没有重定向,Rails 将开始寻找一个名为 destroy.html.erb 的 View ,但在任何地方都找不到,并且引发异常。这也是方法中的 user 变量从 @user
更改为 user
的原因:局部变量将代替实例变量,因为它不需要使用在 View 中。
如果这不是问题所在,请编辑您的问题,将您当前代码包含到 Github 存储库的链接。
关于ruby-on-rails - railstutorial.org,第 9 章练习,9,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14794181/
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,预计到
我是一名优秀的程序员,十分优秀!