Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >将Rails呈现格式限制为html的方法。

将Rails呈现格式限制为html的方法。
EN

Stack Overflow用户
提问于 2009-11-03 16:51:56
回答 5查看 15.1K关注 0票数 13

我有一个只有html模板(例如jobs.html.erb )的Rails 2.1.2站点,所以当我请求restful资源时:

www.mysite.com/jobs/1

但是,如果我请求,它会以html形式呈现我的工作:

www.mysite.com/jobs/1.xml

我知道错误:

视图路径c:/

/mysite/app/ view中缺少模板作业/show.xml.erb

更糟糕的是,我也可以要求

www.mysite.com/jobs/1.xyz

事实上,我看到了错误:

在查看路径c:/

/mysite/app/视图中缺少模板作业/show.xyz.erb

要严格地只显示html内容,最干净和最简单的方法是告诉Rails我不想呈现.html.erb文件以外的任何东西。

必须指出的是:

  • 我的一些控制器操作包含对render()方法的条件调用,而另一些则使用默认的Rails行为,即如果您不调用render(),那么将呈现名为youraction.html.erb的模板。

如果解决方案不是在render/responds_to级别,因为我需要修改大量的操作,那就太好了。也许有一种方法可以配置Rails,以便只呈现html模板?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-11-03 17:13:32

如果不想使用responds_to,可以这样做:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class ApplicationController < ActionController::Base
  before_filter :allow_only_html_requests

  ...

  def allow_only_html_requests
    if params[:format] && params[:format] != "html"
      render :file => "#{RAILS_ROOT}/public/404.html"
    end
  end

  ...

end

这将在所有请求之前运行,并且只允许那些根本不指定格式或指定html格式的请求通过。如果您想返回406,您可以创建一个public/406.html,这是不可接受的。

票数 7
EN

Stack Overflow用户

发布于 2009-11-03 17:08:52

在您的路线中,您可以简单地删除这条线:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
map.connect ':controller/:action/:id.:format'

而".xyz“将不再被路由,从而导致404个错误/。

票数 14
EN

Stack Overflow用户

发布于 2010-03-18 05:43:36

您可以使用Rails Per覆盖功能。这是什么?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class UsersController < ApplicationController::Base

  respond_to :html, :xml, :json

  # Override html format since we want to redirect to a different page,
  # not just serve back the new resource
  def create
    @user = User.create(params[:user])
    respond_with(@user) do |format|
      format.html { redirect_to users_path }
    end
  end
end

:除了和:只有选项

您还可以传入:以外和:only选项,以仅支持特定操作的格式(如对before_filter所做的那样):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class UsersController < ApplicationController::Base
  respond_to :html, :only => :index
  respond_to :xml, :json, :except => :show
  ...
end

:任意格式的

如果仍希望在单个操作中使用respond_to,请使用:任意资源格式,该格式可用作与任何未指定格式的通配符匹配:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class UsersController < ApplicationController::Base

  def index

    @users = User.all

    respond_to do |format|
      format.html
      format.any(:xml, :json) { render request.format.to_sym => @users }
    end
  end
end
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1671111

复制
相关文章
Spring 项目启动错误提示 LoggingApplicationListener
上面的问题简单来说就是在你的 Spring 项目中有 2 个版本的 Spring ,你需要找到 Maven 的配置文件中确定只有一个 Spring Boot 的版本。
HoneyMoose
2022/08/29
1.4K0
Spring 项目启动错误提示 LoggingApplicationListener
Spring 项目运行提示错误 Not a managed type
https://www.ossez.com/t/spring-not-a-managed-type/14368
HoneyMoose
2023/04/01
8680
Spring 项目运行提示错误 Not a managed type
Spring Data Commons审计
Spring Data 提供了复杂的支持,以透明地跟踪谁创建或更改了实体以及更改发生的时间。要从功能中获益,您必须为实体类配置审计元数据,这些元数据可以使用注释或通过实现接口来定义。此外,必须通过注解配置或 XML 配置来进行审计以注册所需的基础架构组件。有关配置示例,请参见特定于商店的部分。
IT胶囊
2021/09/29
6710
Spring Data Commons审计
Spring Boot 项目编译时提示错误 cannot access WebApplicationInitializer 错误
因为在 Application 的代码中,我们继承了 SpringBootServletInitializer。
HoneyMoose
2020/04/13
1.5K0
Spring Boot 项目编译时提示错误 cannot access WebApplicationInitializer 错误
Spring项目启动错误处理方式
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/111273.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/05
9380
Github 上热门的 Spring Boot 项目实战推荐
最近经常被读者问到有没有 Spring Boot 实战项目可以学习,于是,我就去 Github 上找了 10 个我觉得还不错的实战项目。对于这些实战项目,有部分是比较适合 Spring Boot 刚入门的朋友学习的,还有一部分可能要求你对 Spring Boot 相关技术比较熟悉。需要的朋友可以根据个人实际情况进行选择。如果你对 Spring Boot 不太熟悉的话,可以看我最近开源的 springboot-guide:https://github.com/Snailclimb/springboot-gui
Guide哥
2020/05/08
1.3K0
Hadoop如何通过IT审计(上)?
内容: 1. 决策摘要 2. IT和企业风险环境 3. 越来越多的IT规范 4. Hadoop的职能 a. 安全 b. 灾难恢复和业务连续性 c. 资料管理:监督和法律要求 5. 额外要求 6. 关键要点 Hadoop最初并不是为企业环境所创造的,而是针对象Google, Yahoo, Facebook及Twitter等网络数据中心环境而产生的。这些公司拥有无论是架构,支持还是管理都完全不同于企业IT的网络环境
大数据文摘
2018/05/21
1.2K0
Spring 项目启动测试的时候错误:Unable to acquire JDBC Connection
出现这个问题的主要原因是我们在资源文件夹中还有一个 hibernate.properties 文件。
HoneyMoose
2022/10/05
1.5K0
Spring 项目启动测试的时候错误:Unable to acquire JDBC Connection
Spring Batch BATCH_JOB_INSTANCE 表不存在错误
java.sql.SQLSyntaxErrorException: (conn=12433) Table 'usrealestate.BATCH_JOB_INSTANCE' doesn't exist
HoneyMoose
2022/10/11
7320
Spring Batch BATCH_JOB_INSTANCE 表不存在错误
【JAVA代码审计】从零开始的Mybatis框架SQL注入审计(上)
上期分享了JDBC下的注入审计,今天开始分享mybatis框架下的SQL注入审计。
一名白帽的成长史
2022/11/11
1.3K0
【JAVA代码审计】从零开始的Mybatis框架SQL注入审计(上)
代码审计| Spring框架实例篇
Java代码审计Spring框架思路篇中,斗哥为大家讲述了如何得到Spring审计的Demo,审计源码,根据IDEA与Spring框架审计思路初步判定是否存在漏洞。
漏斗社区
2018/08/20
1.2K0
代码审计| Spring框架实例篇
DML错误日志表
前天写了篇文章《表中已存重复数据的情况,如何增加唯一性约束?》,提到了存在唯一约束前提下,重复数据的问题。
bisal
2019/01/29
1.2K0
Spring Cloud Security进行安全审计(一)
Spring Cloud Security是一个用于Spring Boot应用程序的安全框架,它提供了各种安全功能,例如身份验证、授权、密码管理和会话管理等。在现代应用程序中,安全审计是非常重要的一部分,它可以帮助开发人员识别应用程序中的潜在安全漏洞,并保证应用程序的安全性。在本文中,我们将讨论如何使用Spring Cloud Security进行安全审计,并提供一些示例。
堕落飞鸟
2023/04/14
5590
Linux系统实战项目——sudo日志审计
由于企业内部权限管理启用了sudo权限管理,但是还是有一定的风险因素,毕竟运维、开发等各个人员技术水平、操作习惯都不相同,也会因一时失误造成误操作,从而影响系统运行
民工哥
2020/09/16
1.8K0
Linkerd项目完成安全审计(pdf)
“Linkerd是Kubernetes和其他框架的服务网格。它通过提供运行时调试、可观察性、可靠性和安全性 - 所有这些都不需要对代码进行任何更改,从而使运行服务更容易、更安全。”
CNCF
2019/12/04
7630
Linkerd项目完成安全审计(pdf)
Java代码审计| Spring框架思路篇
相信小伙伴们通过Java代码审计入门篇对Java的环境和工具有了一定的了解,重点掌握了Tomcat部署使用、IDEA部署WEB项目与调试、Maven项目管理工具的使用。Java的WEB框架是Java进阶课程,当要进行Spring的漏洞分析,要有一定的Java代码知识储备。
漏斗社区
2018/07/26
2.4K0
Java代码审计| Spring框架思路篇
Spring Cloud Security进行安全审计(二)
现在,我们已经配置了Spring Boot应用程序的审计日志和安全过滤器。接下来,我们需要在代码中记录安全事件,以便后续的审计分析。
堕落飞鸟
2023/04/14
4510
Java代码审计| Spring框架知识篇
在上期的Java代码审计Spring框架思路篇中,斗哥为大家讲述了如何得到Spring审计的Demo,审计源码,根据Spring框架审计思路初步判定是否存在漏洞,剩下就是构造POC,动态调试分析修改POC。本期Java代码审计Spring框架知识篇将讲述Spring构造POC要必备的知识。
漏斗社区
2018/07/26
9860
Java代码审计| Spring框架知识篇
项目总览表
01 前言 分享一下以前做项目时用的一个表。对测试人员来说,这个表格的变种会更有意义。 02 项目总览 先上图 可以使用类似的方式来管理测试任务,有没有感觉高大上那么一点点,^_^。 03 缺陷情况
张树臣
2018/05/15
1.8K0
Spring(上)
参考:https://gitee.com/turnon/spring-tutorial
用户8126523
2023/04/12
6600

相似问题

Hibernate Envers:@子类上的审计

27

Hibernate Envers审计未经审计的实体

35

如何防止Hibernate Envers创建审计表?

11

条件Envers审计

58

使用Hibernate-Envers进行审计的表

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文