更新 - 私は今問題を解決しました - 各コースアイテムの部分を作成し、メインリストビューからレンダリングしました。それが働いていたが、これは、繰り返しの投稿のように見えますが、私は同様の質問に対する解決策を適用しようとしたと、彼らがいない場合、それはUPDATE OF ENDListingsControllerの 'destroy'アクションが見つかりません
謝罪をしなかった理由のおかげで、すべてのあなたの助けのために、私は本当にわからないんだけど働いて、私は立ち往生している!どんな提案も歓迎されました。ありがとうございます。
問題 は、私が「一覧」モデルに属している「コース」モデルを持っています。コントローラーはデフ
class CoursesController < ApplicationController
before_action :authenticate_user!, except: [:show]
before_action :set_listing
before_action :set_course, except: [:index, :new, :create]
def destroy
@course = @listing.courses.find(params[:id])
@course.destroy
flash[:notice] = "Course deleted!"
redirect_back(fallback_location: request.referer)
end
private
def set_course
@listing = Listing.find(params[:listing_id])
@course = Course.find(params[:id])
end
def set_listing
@listing = Listing.find(params[:listing_id])
end
def course_params
params.require(:course).permit(:name, :curriculum_type, :summary, :address, :course_places, :start_date, :finish_date, :price)
end
end
詳細を破壊するコースのリストすなわち "/リスト/ 2 /コース" に属するページ上で作成され、削除され
エラーメッセージ
No route matches [DELETE] "/listings/2/courses"
コースリスティング/リスティングID /コースページの詳細
デフォルトで<%= @listing.courses.each do |f| %>
<div class="jumbotron">
<ul>
<li>Name = <%= f.name %></li>
<li>Type of course = <%= f.curriculum_type %></li>
<li>Number of places = <%= f.course_places %></li>
<li>Start Date = <%= f.start_date %></li>
<li>Finish Date = <%= f.finish_date %></li>
<li>Price (£) = <%= f.price %></li>
<%= link_to "Delete Course", listing_courses_path(@listing, @course), method: :delete %>
</ul>
</div>
<% end %>
routes.rbを詳細
resources :users, only: [:show]
resources :listings, except: [:edit] do
member do
get 'listing'
get 'pricing'
get 'description'
get 'photo_upload'
get 'amenities'
get 'location'
get 'courses'
end
resources :courses, except: [:edit] do
member do
get 'listing'
get 'pricing'
get 'description'
get 'photo_upload'
get 'amenities'
get 'location'
end
end
end
私の解決策を確認してください – krishnar
缶あなたはroutes.rbの関連部分を含めますか? – hoffm
@hoffm確かに私は上にそれを含めるように編集しました –