Ruby on rails 未找到rails分部,但它存在

Ruby on rails 未找到rails分部,但它存在,ruby-on-rails,ruby-on-rails-3,devise,activeadmin,partials,Ruby On Rails,Ruby On Rails 3,Devise,Activeadmin,Partials,阅读文件 我已经尝试了文档中的所有内容,stackoverflow上的所有内容都只是重复文档 我正在尝试从应用程序使用的gem中的另一个视图中渲染部分: <%= render :partial => "#{Rails.root.to_s}/app/views/layouts/login" %> “{Rails.root.to_s}/app/views/layouts/login”%> 它抱怨说,即使我知道它存在,也没有找到它 Missing partial /home/hs

阅读文件

我已经尝试了文档中的所有内容,stackoverflow上的所有内容都只是重复文档

我正在尝试从应用程序使用的gem中的另一个视图中渲染部分:

<%= render :partial => "#{Rails.root.to_s}/app/views/layouts/login" %>
“{Rails.root.to_s}/app/views/layouts/login”%>
它抱怨说,即使我知道它存在,也没有找到它

Missing partial /home/hstorres/src/<app-name>/app/views/layouts/login
缺少部分/home/hstorres/src//app/views/layouts/login
以下命令是从包含部分内容的应用程序中执行的:

$ ls /home/hstorres/src/<app-name>/app/views/layouts
application.html.erb _login.html.erb
$ls/home/hstorres/src//app/views/layouts
application.html.erb\u login.html.erb
因此,如果它存在,并且它正在正确的位置寻找它,为什么它找不到它呢?

请试试这个

<%= render :partial => "layouts/login" %>
“布局/登录”%>
您可以使用

<%= render "layouts/login" %>


Rails中的视图路径是相对于
/app/views/
的。只需键入
render:partial=>“layouts/login”
即可完成所需操作。

因此,在
app/views/layouts
中将您的部分命名为
\u login.html.erb
??这不管用吗<代码>因为您试图从宝石渲染它??只是想了解更多关于这个问题的信息。我能推荐你的应用程序命名为“”以外的名称吗?Kori,我怀疑Hugo只是在他的问题中加入了这一点,以阻止应用程序的实际名称…幸好@Sanket之后回答的人决定不阅读他的答案,因为他们所做的只是复制并粘贴他的答案。真正地也许有人应该回答并使用单引号,而不是双引号。@Justin我认为这行不通,因为我正在破解gem中的一个文件,却没有意识到gem会被加载到应用程序中。是的,为了以防万一,我不得不屏蔽应用程序的名称。我假设从gem内部它不会工作,这很愚蠢,因为gem从应用程序渲染视图,这就是为什么我没有尝试这样做的原因。谢谢。:)当您需要呈现部分时,这也会起作用,无需提及部分单词,但编写的部分单词更具可读性……是的,我知道不同的哈希语法,我就是这样做的,因为代码的其余部分就是这样的(这不是我最初编写的代码)。