如何配置Ruby on Rails的輸出標準的HTML代碼,而不是使用XHTML傭工(形式,的javascript和CSS等)時?配置的Rails輸出HTML輸出,而不是XHTML
我不希望有斜線結尾:
<input name="email" type="text" />
如何配置Ruby on Rails的輸出標準的HTML代碼,而不是使用XHTML傭工(形式,的javascript和CSS等)時?配置的Rails輸出HTML輸出,而不是XHTML
我不希望有斜線結尾:
<input name="email" type="text" />
見http://railsforum.com/viewtopic.php?id=21941
- MarkusQ
這個答案包含在由MarkusQ提供的鏈接,但我想我可以把它拼出來。
您必須修改比呈現所有標籤的代碼,你可以做到這一點,包括下面的代碼到類似的lib/dont_use_xhtml.rb
module ActionView::Helpers::TagHelper
alias :tag_without_backslash :tag
def tag(name, options = nil, open = true, escape = true)
tag_without_backslash(name, options, open, escape)
end
end
的解決方案不使用Rails的最新版本工作。有些助手會將open方法的參數'open'重寫爲'false'。在Rails的2.3.5我
以下工作:
module ActionView::Helpers::TagHelper
def tag_with_html_patch(name, options = nil, open = true, escape = true)
tag_without_html_patch(name, options, true, escape)
end
alias_method_chain :tag, :html_patch
end
它放入一個初始化。
鋼軌2.3
:
安裝寶石haml
然後添加以下初始化config/initializers/force_html4.rb
:
Haml::Template::options[:format] = :html4
module StandardistaHelper
def tag(name, options = nil, open = false, escape = true)
"<#{name}#{tag_options(options, escape) if options}>"
end
end
ActionView::Base.send :include, StandardistaHelper
ActionView::Helpers::InstanceTag.class_eval do
def tag_without_error_wrapping(name, options = nil, open = false, escape = true)
"<#{name}#{tag_options(options, escape) if options}>"
end
end