2

今、私は認めなければなりません。私はRuby on Railsにまったく慣れておらず、すべての概念を完全に理解しているわけではありません。認証用にDeviseをインストールし、このガイドに従って、ビューにサインアップとログインのリンクを含めました。

これが私の中でしたことapplication.html.erbです:

<ul class="hmenu">
  <%= render 'devise/menu/registration_items' %>
  <%= render 'devise/menu/login_items' %>
</ul>

そして、私のようにviews/devise/menu/_login_item.html.erb見えます:

<% if user_signed_in? %>
  <li>
  <%= link_to('Logout', destroy_user_session_path) %>        
  </li>
<% else %>
  <li>
  <%= link_to('Login', new_user_session_path)  %>  
  </li>
<% end %>

次のエラーメッセージが表示されます。

ActionView::MissingTemplate in Home#index
Missing partial devise/menu/login_items with {:handlers=>[:erb, :rjs, :builder, :rhtml, :rxml], :formats=>[:html], :locale=>[:en, :en]} in view paths "/Users/blah/Documents/webapp/mapeval/app/views", "/Users/blah/.rvm/gems/ruby-1.9.2-p0/gems/devise-1.1.3/app/views"

そのエラーの原因は何ですか?

4

1 に答える 1

3

部分ファイルのファイル名が無効です (末尾にsがありません)。views/devise/menu/_login_item.html.erbに名前を変更views/devise/menu/_login_items.html.erb

于 2010-11-23T11:33:48.663 に答える