相关疑难解决方法(0)

将Rails渲染格式限制为html的方法

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

www.mysite.com/jobs/1

然而,如果我要求,它会以html呈现我的工作:

www.mysite.com/jobs/1.xml

我收到错误:

模板丢失在视图路径c:/ workspace/mysite/app/views中缺少模板jobs/show.xml.erb

更糟糕的是,我也可以请求类似的东西

www.mysite.com/jobs/1.xyz

事实上,我看到了错误:

模板丢失在视图路径c:/ workspace/mysite/app/views中缺少模板作业/ show.xyz.erb

要严格地呈现html内容,告诉Rails我最不清楚也最简单的方法是除了.html.erb文件之外我不想呈现任何内容.

重要的是要注意:

  • 我的一些控制器动作包含对render()方法的条件调用,而其他人使用默认的Rails行为,即如果你不调用render(),那么将呈现名为youraction.html.erb的模板.
  • 我的代码不使用responds_to()方法

如果解决方案不在render/responds_to级别会很好,因为我必须修改大量的操作.也许有一种方法可以配置Rails,以便只呈现html模板?

format rest mime ruby-on-rails render

12
推荐指数
4
解决办法
1万
查看次数

标签 统计

format ×1

mime ×1

render ×1

rest ×1

ruby-on-rails ×1