gpt4 book ai didi

ruby-on-rails - rails ruby​​ 遍历目录中的部分

转载 作者:数据小太阳 更新时间:2023-10-29 07:26:03 24 4
gpt4 key购买 nike

致那些提供帮助的人……谢谢。仍然没有解决办法,但越来越近了。我认为这些错误是因为我的"file"评估为“app/views/main/show/_partial.html.erb”。并渲染添加它自己的相对路径。所以我想我需要列出文件名..可能是 dir.foreach 或 dir.glob 类型的命令..我会继续挖掘。谢谢!

我有一个充满部分的目录,我想在页面中调用。所以我写了一个循环,但它会产生错误。

<% Dir["app/views/main/show/*"].each do |file| %>
<%= render #{file} %>
<% end %>

当我用一个简单的

文件

替换渲染行时,它会列出文件名,因此我知道循环和 Dir 位置有效。我认为的问题是 render 正在寻找一个字符串。所以我尝试了各种方法,从 google 和这里​​搜索 #{file},首先创建一个变量,raw,...等。

我还认为渲染可能会在与 Dir 相关的不同目录中查找。我会在那里尝试一些东西。

我该如何处理?我准备从 Dir 切换到 Dir.foreach 或任何其他有意义的策略。

谢谢。

编辑:这是我实现的解决方案(目录路径从上面更改):

<% Dir["app/views/partials/show/*.html.erb"].each do |file| %>
<p> <%= render 'partials/show/' + File.basename(file,'.html.erb').slice!(1..-1) %></p>
<% end %>

最佳答案

file已经是字符串了,不用转义。此外,您必须提供完整路径。这应该有效:

<% Dir["app/views/main/show/*"].each do |file| %>
<%= render :file => Rails.root.join(file).to_s %>
<% end %>

#{} 仅适用于双引号内。例如。 "#{file}",但在本例中没有必要。您可以只使用 file

关于ruby-on-rails - rails ruby​​ 遍历目录中的部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13032946/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com