Skip to content Skip to sidebar Skip to footer

Configure Rails To Output Html Output Instead Of Xhtml

How do I configure Ruby on Rails to output standard HTML code instead of XHTML when using helpers (form, javascript, css, etc.)? I don't want to have the slash at the end:

Solution 1:

This answer is contained in the link provided by MarkusQ, but I figured I could spell it out exactly.

You have to modify the code than renders all tags, you can do that by including the following code into something like lib/dont_use_xhtml.rb

moduleActionView::Helpers::TagHelperalias:tag_without_backslash:tagdeftag(name, options = nil, open = true, escape = true)
        tag_without_backslash(name, options, open, escape)
     endend

Solution 2:

The solution does not work with the latest version of Rails. Some helpers will override the open method argument of 'open' to 'false'.

The following works for me in Rails 2.3.5:

moduleActionView::Helpers::TagHelperdeftag_with_html_patch(name, options = nil, open = true, escape = true)
    tag_without_html_patch(name, options, true, escape)
  end
  alias_method_chain :tag, :html_patchend

Put that into an initializer.

Solution 3:

Solution 4:

For rails 2.3:

Install the gem haml then add the following initializer config/initializers/force_html4.rb:

Haml::Template::options[:format] = :html4moduleStandardistaHelperdeftag(name, options = nil, open = false, escape = true)"<#{name}#{tag_options(options, escape) if options}>"endend

ActionView::Base.send :include, StandardistaHelper

ActionView::Helpers::InstanceTag.class_eval dodeftag_without_error_wrapping(name, options = nil, open = false, escape = true)"<#{name}#{tag_options(options, escape) if options}>"endend

Post a Comment for "Configure Rails To Output Html Output Instead Of Xhtml"