gpt4 book ai didi

ruby-on-rails - 禁用所有 XML View

转载 作者:行者123 更新时间:2023-12-04 06:31:34 25 4
gpt4 key购买 nike

在生产站点中,我有一个用路由 start#index 定义的主页。 .

这按预期工作。

现在,一些爬虫正在扫描页面以查找诸如 /crossdomain.xml 之类的内容。这将触发 start Controller 运行并尝试返回 XML View 。

不幸的是,我没有定义 XML View 或模板或任何关于它的内容,因此会生成错误消息(通过电子邮件,所以很烦人):

[Exception] start#index (ActionView::MissingTemplate) "Missing template
start/index with {:handlers=>[:rjs, :rhtml, :builder, :rxml, :erb],
:formats=>[:xml], :locale=>[:crossdomain, :en]} in view paths

所以我想有2个选择:
  • 禁用此应用程序中的所有 XML/JSON 内容并呈现默认的 404 页面。
  • 创建一个虚拟的 XML View 。

  • 我更喜欢第一个选择,但我不确定如何做到这一点?感谢您的建议或最佳实践的链接。

    编辑 ,根据要求,输出 rake routes .我猜我在倒数第二行看到了一些错误?
                new_editor_session GET    /editors/sign_in(.:format)                                {:action=>"new", :controller=>"devise/sessions"}
    editor_session POST /editors/sign_in(.:format) {:action=>"create", :controller=>"devise/sessions"}
    destroy_editor_session GET /editors/sign_out(.:format) {:action=>"destroy", :controller=>"devise/sessions"}
    /auth/:provider/callback(.:format) {:action=>"create", :controller=>"sessions"}
    signout /signout(.:format) {:action=>"destroy", :controller=>"sessions"}
    photo_of_week_submissions GET (/:locale)/submissions/photo_of_week(.:format) {:action=>"photo_of_week", :controller=>"submissions"}
    select_photo_of_week_submission GET (/:locale)/submissions/:id/select_photo_of_week(.:format) {:action=>"select_photo_of_week", :controller=>"submissions"}
    accept_submission GET (/:locale)/submissions/:id/accept(.:format) {:action=>"accept", :controller=>"submissions"}
    submissions GET (/:locale)/submissions(.:format) {:action=>"index", :controller=>"submissions"}
    POST (/:locale)/submissions(.:format) {:action=>"create", :controller=>"submissions"}
    new_submission GET (/:locale)/submissions/new(.:format) {:action=>"new", :controller=>"submissions"}
    edit_submission GET (/:locale)/submissions/:id/edit(.:format) {:action=>"edit", :controller=>"submissions"}
    submission GET (/:locale)/submissions/:id(.:format) {:action=>"show", :controller=>"submissions"}
    PUT (/:locale)/submissions/:id(.:format) {:action=>"update", :controller=>"submissions"}
    DELETE (/:locale)/submissions/:id(.:format) {:action=>"destroy", :controller=>"submissions"}
    login (/:locale)/login(.:format) {:to=>#<Proc:0x0000000103871938@/Library/Ruby/Gems/1.8/gems/actionpack-3.0.7/lib/action_dispatch/routing/mapper.rb:366>}
    design (/:locale)/design(.:format) {:action=>"design", :controller=>"page"}
    gallery (/:locale)/gallery(.:format) {:action=>"gallery", :controller=>"page"}
    features (/:locale)/features(.:format) {:action=>"features", :controller=>"page"}
    competition (/:locale)/competition(.:format) {:action=>"index", :controller=>"competition"}
    facebook_albums (/:locale)/facebook-albums(.:format) {:action=>"facebook_albums", :controller=>"competition"}
    facebook_photos (/:locale)/facebook-photos(.:format) {:action=>"facebook_photos", :controller=>"competition"}
    facebook_upload (/:locale)/facebook-upload(.:format) {:action=>"facebook_upload", :controller=>"competition"}
    root (/:locale)(.:format) {:action=>"index", :controller=>"start"}
    root /(.:format) {:action=>"index", :controller=>"start"}

    最佳答案

    您可以使用路由约束,以便只接受 html 作为格式。这将为您提供第一选择。

    看看thisthis .

    关于ruby-on-rails - 禁用所有 XML View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5813943/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com