Rails -如果模板可用,使用respond_to的目的



我见过一些人使用这样的代码

respond_to do |format|
  format.html
  format.js
end

如果我们有template.html和template.js,这样做的目的是什么?两者都可以在不指定respond_to

的情况下呈现

您的代码段没有做任何特别的事情,但是格式化选项允许您在必要时提供额外的自定义行为。

例如,如果您想将@products呈现为JSON:

 respond_to do |format|
  format.html
  format.js { render :json => @products }
end

这只是你可以用格式块做的许多事情之一。有关更多信息,请参见Ruby on Rails指南:布局和渲染

格式选项可以采用一个块,以便您可以进行一些自定义呈现,例如呈现文件或:head响应。看一下这里的一些例子

如果你没有为不同的格式指定不同的行为,那么就没有理由使用respond_to。如果你有模板,它们将被rails自动拾取。如果您需要每种格式的不同行为,respond_to方法很有用:

respond_to do |format|
  format.html { render :edit }
  format.json { render :json => '{}' }
end

相关内容

  • 没有找到相关文章

最新更新