1

この前の質問ulをガイドとして使用して、クリックするとコンテナー内のパーシャルをレンダリングするコンテナーの上にナビゲーション ヘッダーを作成しようとしました。(うまくいけば、それはある程度意味がありますが、重要ではないかもしれません。)パーシャルのリンクがクリックされるまで、デフォルトでパーシャルをレンダリングします。

ただし、link_toパーシャルをレンダリングすることを期待して my をクリックすると、次のエラーが表示されます。

uninitialized constant ProfileController

Rails 3を使用しています。関連するコードは次のとおりです。

プロファイルコントローラー:

def show_about
  @is_on_show_about = true
end

def show_info
  @is_on_show_info = true
end

ビュー/プロファイル/show.html.erb:

<div id="info">
  <div id="infoContainer">
    <% if @is_on_show_about %>
      <%= render :partial => 'show_about' %>
    <% elsif @is_on_show_info %>
      <%= render :partial => 'show_info' %>
    <% end %>
    <ul id="info">
      <li>
        <%= link_to 'About', show_about_path, :remote => true %>
      </li>
    </ul>
    <ul id="settingsLinks">
      <li><a href="#">Advice</a></li>
      <li>
        <%= link_to 'Info', show_info_path, :remote => true %>
      </li>
    </ul>
  </div>
  <%= render :partial => 'show_about' %>

Routes.rb:

map.show_info 'profiles/:id/info', :controller => 'profile', :action => 'show_info'
map.show_about 'profiles/:id/about', :controller => 'profile', :action => 'show_about'

誰でもこれを修正し、何が問題なのかを説明できますか?

4

1 に答える 1

2

両方のルートが正しくありません。

コントローラーの名前が実際にProfilesController(複数) の場合、ルートは:controller => 'profiles'ではなく ,を使用する必要があり:controller => 'profile'ます。

于 2011-08-25T20:27:10.197 に答える