私は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