Ruby on rails 从控制器和视图渲染部分
在我的Rails应用程序中,我可以从控制器和另一个erb文件渲染erb文件,如下所示: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
# 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中呈现数据。