Usted puede obtener por los recursos identificador cu sofisticación redefiniendo los métodos member_scope y nested_scope en la instancia de Resource.
resources :users do
@scope[:scope_level_resource].tap do |u|
def u.member_scope
"#{path}/:username"
end
def u.nested_scope
"#{path}/:#{singular}_username"
# member_scope also usable here, assuming username will be nowhere in nested routes.
end
end
end
En cuanto a la pregunta sobre #nested_scope a continuación: Se acostumbra cuando se hace algo como esto en el enrutamiento:
resources :members do
resources :playlists, only: :index
end
A continuación, el parámetro sería: member_username en lugar de simplemente: nombre de usuario. Esto es útil en el controlador de listas de reproducción al ensamblar la colección para que pueda inferir el alcance de la solicitud.
bien, lo que añade poco, pero estoy recibiendo el siguiente error: http://chigstuff.com/uploads/user_error.jpg – Chiggins
No importa, me encontré con mi problema. Mi método de show estaba haciendo "@user = User.find (: params [: id])", lo cambié para buscar por el nombre de usuario. – Chiggins
Cambie el código en su controlador: no User.find (params [: id]) pero User.find_first_by_username (params [: id]) o cambie el cuerpo de to_param a "# {self.id} - # {self.username}" –