所以,当一个产生scaffodl,控制器会自动创建这些块(?)这样有人可以向我解释什么respond_to呢? (Rails)的
respond_to do |format|
format.html
format.xml { render :xml => @c }
end
这究竟做,怎么就具有format.html
和format.xml
?每个人做什么?
所以,当一个产生scaffodl,控制器会自动创建这些块(?)这样有人可以向我解释什么respond_to呢? (Rails)的
respond_to do |format|
format.html
format.xml { render :xml => @c }
end
这究竟做,怎么就具有format.html
和format.xml
?每个人做什么?
它定义当前动作将响应各种格式(动作的内容可以以许多方式呈现,而不仅仅是普通的旧HTML)。
/my/path/to/action.html
,它将呈现HTML(从模板);/my/path/to/action.xml
,它将使用{ render :xml => @c }
呈现XML。 XML将由Rails通过在@c
变量上调用to_xml
方法生成;/my/path/to/action.json
,则会发出404错误。Rails使用由Accept
页眉或格式来确定该请求的MIME type
(/controller/action/5.xml
; /controller/action/5.html
; /controller/action/5.json
;等)来确定映射到所请求的URL的控制器动作的响应格式。
这种方式rails可以自动为不同的内容格式呈现许多类型的请求到相同的控制器操作。