ActionView::Template::Error (缺少部分视图/作业/_index {:locale=>[:en], :formats=>[:html], :variants=&g



我是ruby的新手,这个错误不断出现,我不知道它意味着什么。

这是代码:

<% if current_user %>
<%= link_to 'Sign Out' , destroy_user_session_path , method: :delete %>
<%= render partial: "views/jobs/index" %>
<% else %>
<%= link_to 'Sign Up' , new_user_registration_path %>
<%= link_to 'Sign In' , new_user_session_path %>
<% end %>

我的问题是渲染。我试图从一个html.erb文件中呈现一个html.haml文件。这可能吗
如果是,那么这就是我得到的:

ActionView::Template::Error (Missing partial views/jobs/_index with {:locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[:raw, :erb, :html, :builder, :ruby, :jbuilder, :haml]}. Searched in:
* "C:/Users/farah/Desktop/rubyApp/jobapp/app/views"
* "C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/devise-4.7.3/app/views"
* "C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/actiontext-6.0.3.4/app/views"
* "C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/actionmailbox-6.0.3.4/app/views"
):
1: <% if current_user %>
2:  <%= link_to 'Sign Out' , destroy_user_session_path , method: :delete %>
3:  <%= render partial: "views/jobs/index" %>
4: <% else %>
5: <%= link_to 'Sign Up' , new_user_registration_path %>
6: <%= link_to 'Sign In' , new_user_session_path %>
<%= render partial: "views/jobs/index" %>

删除";视图";前缀,它是自动添加的。您可以从错误消息中看到:

Searched in:
* "C:/Users/farah/Desktop/rubyApp/jobapp/app/views"

正如你所看到的,这已经包括";视图";。

您的渲染语句应该是

<%= render partial: "jobs/index" %>

从erb中渲染haml不是问题,只要它配置正确,并且您的错误消息表明它是正确的:

:handlers=>[:raw, :erb, :html, :builder, :ruby, :jbuilder, :haml]

处理程序包括:haml,因此它可以工作。

最新更新