На данный момент я пытаюсь сделать следующее:
Я создал несколько партиалов (то есть _show_signature.html.erb) для своего пользователя.
Теперь я хочу показать их при нажатии на ссылку.
В моем пользовательском контроллере я создал новое действие:
def show_signature
@is_on_show_signature = true
end
def show_information
@is_on_show_information = true
end
на моем пользователе 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>
В моем route.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 (потому что я сказал ему этот путь в rout.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.
Есть идеи, как это будет работать? Есть идеи, почему я получаю эту ошибку?