На данный момент я стараюсь делать следующее:Rails: Ссылка на частичные?
Я создал несколько частичных элементов (например, _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>
В моем 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
в моей модели пользователя)
Я хочу связать с somethink как http://localhost:3000/users/2-test/user-information. Любые идеи, как это будет работать? Любые идеи, почему я получаю эту ошибку?
Вы можете улучшить to_param с помощью встроенного параметрирования ActiveSupport. to_param затем становится: "# {id} - # {login.downcase.parameterize}" – Ben