Rails 3 - Roteamento de recursos aninhados - relacionamento um a um
Problemas com o roteamento de alguns recursos aninhados. O que estou tentando fazer é vincular à página de perfil de um usuário para fins de edição. Na minha opinião, está escrito como:
<%= link_to "Edit Profile", edit_user_profile_path(current_user) %>
Quais erros ocorrem com:
No route matches {:action=>"edit", :controller=>"profiles", :user_id=>#<User id: 1, email: "EDITEDOUT", hashed_password: "EDITEDOUT", created_at: "2011-01-20 18:30:44", updated_at: "2011-01-20 18:30:44">}
No meu arquivo routes.rb, parece assim:
resources :users do
resources :profiles, :controller => "profiles"
end
Eu verifiquei minhas rotas Rake, e isso me deu uma opção válida:
edit_user_profile GET /users/:user_id/profiles/:id/edit(.:format) {:action=>"edit", :controller=>"profiles"}
Para o qual eu posso navegar manualmente. Para boas medidas, aqui está a prova do meu controlador:
class ProfilesController < ApplicationController
def edit
@user = current_user
@profile = current_user.profile
end
def update
@user = current_user
@profile = current_user.profile
respond_to do |format|
if @profile.update_attributes(params[:profile])
format.html { redirect_to(orders_path, :notice => "Your profile has been updated.") }
format.xml { head :ok }
else
format.html { render :action => "edit" }
format.xml { render :xml => @profile.errors, :status => :unprocessable_entity }
end
end
end
end
Enfim, estou tendo algum problema para rastrear isso. Qualquer ponteiro ajudaria. Para o meu design de banco de dados, os perfis pertencem aos usuários em um relacionamento individual. Espero que seja apenas algo novo. Não estou percebendo que um novo par de olhos pode ajudar.