2010-11-23 3 views
1

Controllor:ルビー:ユーザーに属する新しいオブジェクトを作成しようとしている...正しく...それを行う方法がわからない

def new(user) 
    @address = Address.new 
    @address.user_id = user.id 
    end 

リンク私はそれがエラーをトリガクリック

<%= link_to "Add Address", new_address_path(current_user)%> 

住所モデル

belongs_to :user 

ユーザーモデル

アドレス

create_table "addresses", :force => true do |t| 
    t.string "number" 
    t.string "street" 
    t.string "city" 
    t.string "state" 
    t.string "zip_code" 
    t.integer "user_id" 
    end 

私のルート

map.resources :users 
    map.resources :addresses 

とエラーが

uninitialized constant AddressesController 
Parameters: 

{"format"=>"#<user:0x105498c60>"} 
あるため
has_many :addresses 

新しいアドレスビュー

<h1>New Address</h1> 

<% form_for @address, :url => new_address_path do |f| %> 
    <%= f.error_messages %> 
    <%= render :partial => "form", :object => f %> 
    <%= f.submit "Add Address" %> 
<% end %> 

スキーマ

答えて

1

このメソッドが置かれているもので、コントローラ:代わりに

new_address_path(current_user) 

def new(user) 
    @address = Address.new 
    @address.user_id = user.id 
end 
+0

アドレスcornotreller – NullVoxPopuli

+2

アドレスコントローラーではなく、アドレスコントローラーであることを確認してください。 –

+0

ha lol .....愚かな私 – NullVoxPopuli

0

を使用してみてください:

new_user_address_path(current_user) 

とCURRENT_USERが有効なユーザーオブジェクトであることを確認してください。

+0

new_user_address_pathが動作しません...このエラーが発生しました – NullVoxPopuli

+0

未定義のメソッドnew_user_address_path for# NullVoxPopuli

関連する問題