0

私はrubyとrailsを使用して単純なAPIを作成しようとしていますが、ほとんど機能しています。問題が1つだけあります。ネストされたリソースを作成しようとすると、「未定義のメソッド」エラーが発生します。

私には2つのモデルがあります。1つはユーザーモデルで、もう1つはレコードモデルです。それらはroutes.rbで次のように設定されます。

resources :users, :except => [:new,:edit] do
  resources :records, :except => [:new,:edit]
end

私のレコードコントローラーには次のものが含まれています。

def show
  respond_with @user.records.find(params[:id])
end

def create
  respond_with @user.records.create(params[:record])
end

パラメータを指定してshowを呼び出すと、動作してモデルを返します。作成を投稿すると、次のエラーが発生します。

NoMethodError: undefined method `record_url' for #<RecordsController:0x007fea3682a5c8>

なぜこれが起こっているのかはわかりませんが、誰かが何かアイデアを持っているなら、私は感謝するでしょう。また、さらにコードが必要な場合は、追加できるように教えてください。

レーキルートを追加するのを忘れました:

user_records GET    /users/:user_id/records(.:format)     records#index
             POST   /users/:user_id/records(.:format)     records#create
 user_record GET    /users/:user_id/records/:id(.:format) records#show
             PUT    /users/:user_id/records/:id(.:format) records#update
             DELETE /users/:user_id/records/:id(.:format) records#destroy
       users GET    /users(.:format)                      users#index
             POST   /users(.:format)                      users#create
        user GET    /users/:id(.:format)                  users#show
             PUT    /users/:id(.:format)                  users#update
             DELETE /users/:id(.:format)                  users#destroy
4

1 に答える 1

1
@record =  @user.records.create(params[:record])
respond_with(@user, @record)
于 2012-08-01T02:33:48.880 に答える