作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我不确定它是什么。我刚刚从 3.0.9 升级到 Rails 3.1,以下是我的规范:
PeopleController edit action should require owner
Failure/Error: response.should render_template("/public/403.html")
expecting <"/public/403.html"> but rendering with <"search/_search_menu_item">
这超出了我在各种 Controller 中的规范。我的 AppController 中也有此代码:
def render_403
respond_to do |format|
format.html { render :file => "#{Rails.root}/public/403.html", :status => 403, :layout => false }
format.json { render :json => { :error => true, :message => "Error 403, you don't have permissions for this operation." } }
end
end
在 PeopleController 中:
def edit
render_403 unless @person.account.id == current_account.id
end
我确信 format.html
block 会被执行(检查过)。然而,规范预期落空。想知道这里发生了什么。
(search/_search_menu_item
是包含在每个页面上的部分内容,这基本上意味着应用程序布局将在此处呈现。)
更新:我已将 #edit
中的 render_403
替换为 render(:file => "#{Rails.root }/public/403.html", :status => 403, :layout => false)
看看会发生什么 - 得到相同的结果。
最佳答案
好的,明白了。可能不是 Rails 问题。至少只有在运行规范时才会出现问题。
我一直在检查 403 页面是否是这样渲染的:
response.should render_template("public/403.html")
不再起作用了。替换为
response.status.should == 403
解决了问题。
关于rendering - Rails 3.1 respond_to 和 render_403 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6703460/
我有一个使用 django-tables2 定义的表: class MyTable(tables.Table): action = tables.Column() class Meta
我是一名优秀的程序员,十分优秀!