Estoy intentando construir un modelo de usuario manualmente (sin utilizar' resources: users 'en el archivo routes.rb). Mi archivo routes.rb se ve así:método indefinido `user_path '
match '/users/:id', :to => 'users#show'
match '/all_users', :to => 'users#index'
Este es mi método de índice en el controlador de los usuarios:
def index
@title = "All users"
@users = User.paginate(:page => params[:page])
end
Este es mi punto de vista índice:
<h1>All users</h1>
<%= will_paginate %>
<ul class="users">
<% @users.each do |user| %>
<li>
<%= link_to user.email, user %>
</li>
<% end %>
</ul>
<%= will_paginate %>
consigo este error mensaje cuando presiono localhost: 3000/all_users:
undefined method `user_path'
No veo de dónde viene esto, ¿alguien puede ayudar ...?
EDIT:
Ok, he descubierto que el cambio de 'usuario' a '@user' en la vista hace que funcione:
<%= link_to user.email, @user %>
Pero realmente no entiendo el mensaje de error , o la diferencia real entre 'usuario' y '@ usuario'. Además, al hacer clic en el enlace creado no se redirige a la página del usuario, sino que permanece en localhost: 3000/all_users.
Gracias, funciona muy bien! – newUserNameHere
para cualquiera que use rieles 4 use esto en su lugar 'get'/users /: id ',: to =>' users # show ',: as =>: user' –
Gracias. funciona encanto! –