1

使用上一个问题作为指导,我尝试在ul容器上方创建一个导航标题,单击该标题会在容器内呈现部分内容。(希望这是有道理的,但它可能并不重要。)在单击部分链接之前,我让它默认呈现部分。

但是,当我点击我link_to的希望渲染部分时,我收到以下错误:

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' %>

路线.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 回答