Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 页面布局是否需要使用application.html.erb?_Ruby On Rails_Erb - Fatal编程技术网

Ruby on rails 页面布局是否需要使用application.html.erb?

Ruby on rails 页面布局是否需要使用application.html.erb?,ruby-on-rails,erb,Ruby On Rails,Erb,完全不用application.html.erb可以吗?而只是使用控制器的实际html?application.html.erb的用途是什么 观点 书籍 -index.html.erb 关于我 -about.html.erb 布局 -application.html.erb-mailer.html.erb-mailer.text.erb 可以不使用application.html.erb文件,您可以指定所需的布局文件,并且不限于一个 您可以为操作或控制器执行此操作 application.

完全不用application.html.erb可以吗?而只是使用控制器的实际html?application.html.erb的用途是什么

  • 观点
    • 书籍
      -index.html.erb
    • 关于我
      -about.html.erb
    • 布局
      -application.html.erb-mailer.html.erb-mailer.text.erb

可以不使用application.html.erb文件,您可以指定所需的布局文件,并且不限于一个

您可以为操作或控制器执行此操作

application.html.erb文件的目的是为您的视图文件设置布局


为了澄清,您的视图(例如在books:index.html.erb下)由于application.html.erb文件而显示。如果您查看该文件,您将使用yield函数,这就是使index.html.erb中的内容可见的原因。

您的问题答案是肯定的。默认情况下应用application.html.erb布局,下面是一些其他选项

没有应用布局

render :layout => false
例如,这将进入视图的方法中

def index
  @books = Book.all
  render :layout => false
end
这将从书籍的索引视图中删除任何布局文件
yoursitename.com/books

还可以指定您拥有的其他布局文件

def index
  @books = Book.all
  render :layout => "books_layout"
end 

可能也值得您花费时间

您可以完全不为视图指定布局,也可以为视图指定其他布局,如果需要,甚至可以为每个视图指定特定的布局视图。因此,是的,不在任何或所有视图上使用默认的application.html.erb布局是完全可以的,但是我不确定当您提到控制器实际的html时,您的控制器中不应该包含任何html。@RockwellRice我实际上指的是视图html,它是从我的帖子中生成的,视图>书籍>index.html.erb,我还不熟悉这些术语抱歉。