让我们有一个部分 _form.html.slim
rails 是否添加扩展名似乎没有区别,html
因此我们可以删除html
扩展名。_form.slim
将是相同的部分并且效果很好。
有什么区别吗?
让我们有一个部分 _form.html.slim
rails 是否添加扩展名似乎没有区别,html
因此我们可以删除html
扩展名。_form.slim
将是相同的部分并且效果很好。
有什么区别吗?
模板的方案是:<action_name>.<format>.<preprocessors>
。
添加格式扩展名是在该文件类型上限制模板的一种手段,但它是完全可选的,就像预处理器一样。
例如,如果您要实现一个模板,foos/index.erb
它可以用于渲染http://host/foos
、或您使用的任何 mime 类型。使用,您指定此模板应仅用于 html。http://host/foos.json
http://host/foos.html
foos/index.html.erb
模板可以用于没有格式约束的格式取决于:
#respond_to
,强制允许的格式目前有很多默认识别的 mime 类型:html、text、js、css、ics、csv、png、jpg、gif、bmp、tiff、mpeg、xml、rss、atom、yaml、json、pdf , 压缩。
如果您要指定一个带有强制格式的文件名和一个没有强制格式的文件名,则强制格式模板将优先于该给定格式(因此,如果您有foos/index.html
and foos/index
,第一个将用于呈现 html 页面,而第二个一个将用于任何其他格式)。
请注意,由于格式和预处理器都是可选的,因此如果需要,您可以只拥有一个foos/index
文件。这将为所有默认格式提供静态文件(未预处理)。
完全相同的规则适用于部分。如果您指定格式,则部分将仅用于该格式。您可以指定多个具有各自格式的部分,并且您可以省略格式以对所有格式使用相同的部分。
在这种情况下我不确定,但 html 是内容类型,而 slim 将是模板引擎。filename.content_type.template_engine 格式将其分离出来进行处理。删除 html 扩展名可能对您有用,但我认为将扩展名保留在适当的位置是最佳做法。
是的,您可以这样做,但该部分也将呈现为 js 和 css。所以如果可能的话尽量避免它