2012-04-08 2 views
0

は、私は、次のform_forのタグを持っている、プロファイルは、それはすなわち、ここでは有効ではありませんタグであり、それが生成されるURLである。この予測しているRails 3 - ネストされたリソースform_forを介して有効なURLを生成していますか?

<%= form_for([current_user,@profile], :html =>{:class => "contact_form",:multipart => true}) do |f| %> 

「アクションを=」/ユーザ/ 1//ユーザー/ 1 /プロファイル/ 1 『

誰もが私がここに間違ってやっているかを見ることができますか?

を以下に該当するレールファイルからいくつかのスナップショットである。

=アクションでなければなりません』 profile.1"

routes.rb

devise_for :users 
resources :users, :only => [:delete] do 
    resource :profile 
end 

ユーザーモデル

class User < ActiveRecord::Base 
    has_one :profile, :inverse_of => :user 
    accepts_nested_attributes_for :profile 

プロファイルモデル

class Profile < ActiveRecord::Base 
    belongs_to :user 
    validates_presence_of :user 

すくいルート出力:

new_user_session GET /users/sign_in(.:format)    devise/sessions#new 
      user_session POST /users/sign_in(.:format)    devise/sessions#create 
    destroy_user_session DELETE /users/sign_out(.:format)    devise/sessions#destroy 
      user_password POST /users/password(.:format)    devise/passwords#create 
     new_user_password GET /users/password/new(.:format)   devise/passwords#new 
     edit_user_password GET /users/password/edit(.:format)   devise/passwords#edit 
         PUT /users/password(.:format)    devise/passwords#update 
cancel_user_registration GET /users/cancel(.:format)    devise/registrations#cancel 
     user_registration POST /users(.:format)      devise/registrations#create 
    new_user_registration GET /users/sign_up(.:format)    devise/registrations#new 
    edit_user_registration GET /users/edit(.:format)     devise/registrations#edit 
         PUT /users(.:format)      devise/registrations#update 
         DELETE /users(.:format)      devise/registrations#destroy 
      user_profile POST /users/:user_id/profile(.:format)  profiles#create 
     new_user_profile GET /users/:user_id/profile/new(.:format) profiles#new 
     edit_user_profile GET /users/:user_id/profile/edit(.:format) profiles#edit 
         GET /users/:user_id/profile(.:format)  profiles#show 
         PUT /users/:user_id/profile(.:format)  profiles#update 
         DELETE /users/:user_id/profile(.:format)  profiles#destroy 

答えて

0

私は同じ問題を抱えていました。私の解決策は、あなたがこのように直接URLを宣言しなければならないということであった。このことが起こる理由は、私が本当に知りませんが

<%= form_for([current_user,@profile], :url => user_profile_path, :html =>{:class => "contact_form",:multipart => true}) do |f| %> 

- おそらく誰もが説明できる...

関連する問題