Ruby on rails 从控制器和视图渲染部分

Ruby on rails 从控制器和视图渲染部分,ruby-on-rails,ruby,render,partials,Ruby On Rails,Ruby,Render,Partials,在我的Rails应用程序中,我可以从控制器和另一个erb文件渲染erb文件,如下所示: # a_controller.rb class AController < ApplicationController def index render 'lista' end # b_controller.rb class BController < ApplicationController def index render 'listb' end # lista.html

在我的Rails应用程序中,我可以从控制器和另一个erb文件渲染erb文件,如下所示:

# a_controller.rb
class AController < ApplicationController
def index
    render 'lista'
end

# b_controller.rb
class BController < ApplicationController
def index
    render 'listb'
end

# lista.html.erb
<%= render 'list' %>

# listb.html.erb
Some content that I want to keep
<%= render 'list' %>

# _list.html.erb
Hello
#a#u controller.rb
类A控制器<应用程序控制器
def索引
呈现“lista”
结束
#b_controller.rb
类B控制器<应用程序控制器
def索引
呈现“listb”
结束
#lista.html.erb
#listb.html.erb
一些我想保留的内容
#_list.html.erb
你好
如您所见,lista仅呈现部分
\u列表
。 我想做的是从
listb.html.erb
中调用
。 但是当我这样做时,我会收到一条错误消息,说找不到部分的
\u lista


你有什么想法吗

lista.html.erb
是一个页面,而不是一个部分。您的代码正在查找名为
lista
的分部,但它不存在


我真的认为您应该创建一个名为
\u lista
的新分部,您可以在
lista.html.erb
listb.html.erb
中呈现它。您的控制器仍然可以
呈现'lista'
,它将呈现部分
\u lista
lista.html。erb
是一个页面,而不是部分。您的代码正在查找名为
lista
的分部,但它不存在


我真的认为您应该创建一个名为
\u lista
的新分部,您可以在
lista.html.erb
listb.html.erb
中呈现它。您的控制器仍然可以
呈现'lista'
,这将呈现部分
\u lista

您需要创建
\u list.html.erb
部分(任何文件名)文件,以便在
lista.html.erb
listb.html.erb
中访问它,然后您可以根据需要访问它

例如:-

# lista.html.erb
<%= render 'listb' %>
#lista.html.erb

lista.html.erb
中,我们可以调用当前目录中的
listb
(\u listb.html.erb)文件。

您需要创建
\u list.html.erb
部分(任何文件名)文件,以便在
lista.html.erb
listb.html.erb
中进行访问,然后您可以根据需要进行访问

例如:-

# lista.html.erb
<%= render 'listb' %>
#lista.html.erb

lista.html.erb
中,我们可以调用当前目录中的
listb
(\u listb.html.erb)文件。

您应该创建一个名为\u lista.html.erb的分部,或者您可以将文件名从lista.html.erb更改为\u lista.html.erb

当前文件lista.html.erb不是分部文件,这就是为什么当您尝试渲染lista分部文件时,rails会为您产生错误

#lista.html.erb
##assuming list is in lista/list.html.erb 
<%= render 'lista/list' %>
#lista.html.erb
##假设列表位于lista/list.html.erb中

您应该创建一个名为\u lista.html.erb的分部,或者您可以将文件名从lista.html.erb更改为\u lista.html.erb

当前文件lista.html.erb不是分部文件,这就是为什么当您尝试渲染lista分部文件时,rails会为您产生错误

#lista.html.erb
##assuming list is in lista/list.html.erb 
<%= render 'lista/list' %>
#lista.html.erb
##假设列表位于lista/list.html.erb中

我的所有文件都在
应用程序
文件夹中,我已经看到,通过这种方式,可以在不指定文件夹的情况下访问这些文件……实际上,
lista
并不是一个局部文件。您想到的是您的页面
lista.html.erb
。这就是为什么会出现错误。我更新了我的答案。是的,那3个,因为我在不同的地方使用它们。嘿@Nobe4,酷,我更新了我的答案
lista
不是分部。让我们来看看。我所有的文件都在
应用程序的
文件夹中,我已经看到,通过这种方式,它们可以在不指定文件夹的情况下访问……实际上,
lista
不是分部文件。您想到的是您的页面
lista.html.erb
。这就是为什么会出现错误。我更新了我的答案。是的,那3个,因为我在不同的地方使用它们。嘿@Nobe4,酷,我更新了我的答案<代码>列表a不是部分。让我们来看看。如果我想保留页面而不是部分,我可以从视图中渲染它们吗?我不认为你可以像你说的那样这样做。您应该根据rails规范使用partial在rails中呈现数据。如果我想保留页面而不是片段,我可以从视图中呈现它们吗?我不认为您可以像您所说的那样以这种方式进行呈现。您应该根据rails规范使用partial在rails中呈现数据。