目前我正在尝试做以下事情:
我为我的用户创建了几个部分文件(例如_show_signature.html.erb)。 现在我想在单击链接时显示它们。 在我的用户控制器中,我创建了一个新的操作:
def show_signature
@is_on_show_signature = true
end
def show_information
@is_on_show_information = true
end
在我的用户展示页面(user show.html.erb)中,我编写了以下代码:
<% if @is_on_show_information %>
<%= render :partial => 'show_information' %>
<% elsif @is_on_show_signature %>
<%= render :partial => 'show_signature' %>
<% end %>
在我的“导航栏”中,我写了以下内容:
<ul>
<li class="profile-tab">
<%= link_to 'Information', show_information_path %>
</li>
<li class="profile-tab">
<%= link_to 'Signature', show_signature_path %>
</li>
</ul>
在我的routes.rb文件中,我写了以下内容:
map.show_information '/user-information', :controller => 'user', :action => 'show_information'
map.show_signature '/user-signature', :controller => 'user', :action => 'show_signature'
现在我的问题是:点击“信息”链接将重定向我到http://localhost:3000/user-information(因为我在routes.rb中告诉了它这个路径 - 我想),然后我会得到一个错误。
uninitialized constant UserController
但这不是我想要的... 我的用户展示路径类似于:
http://localhost:3000/users/2-loginname
(通过编码
def to_param
"#{id}-#{login.downcase.gsub(/[^[:alnum:]]/,'-')}".gsub(/-{2,}/,'-')
end
在我的用户模型中,我想要链接到类似于http://localhost:3000/users/2-test/user-information的东西。有什么想法如何实现?为什么会出现这个错误?