질문 횟수는 몇 번이고 나도 마찬가지입니다. 오류가 있지만 그것을 고칠 could'nt.경로가 일치하지 않습니다 {: action => "show", : guide_id => #, : id => nil} 필수 키가 누락되었습니다 : [: id]
내 기록을 편집하려고하면 나는 오류가 아래에 무엇입니까 :
No route matches {:action=>"show", :controller=>"guide/packages", :guide_id=>#
<GuidePackage id: 1, user_id: 3, title: "Paris to london", city: nil,
price_per_adult: 2.44, price_per_children: 7.88, description: "XXXXXXXXXXXXX",
created_at: "2017-04-20 20:01:58", updated_at: "2017-04-20 20:01:58">,
:id=>nil} missing required keys: [:id]
내 새로운 액션은 다음과 같습니다
def new
@guide_package = @guide.guide_packages.new
end
내 편집 작업은 다음과 같습니다
def edit
@guide_package = GuidePackage.find(params[:id])
end
인덱스 내가 편집 링크를 클릭 한 위치 :
새 편집에 대한 guide_guide_packages GET /guide/:guide_id/packages(.:format) guide/packages#index
POST /guide/:guide_id/packages(.:format) guide/packages#create
new_guide_guide_package GET /guide/:guide_id/packages/new(.:format) guide/packages#new
edit_guide_guide_package GET /guide/:guide_id/packages/:id/edit(.:format) guide/packages#edit
guide_guide_package GET /guide/:guide_id/packages/:id(.:format) guide/packages#show
PATCH /guide/:guide_id/packages/:id(.:format) guide/packages#update
PUT /guide/:guide_id/packages/:id(.:format) guide/packages#update
DELETE /guide/:guide_id/packages/:id(.:format) guide/packages#destroy
내 양식 :
<%= form_for [:guide, @guide_package], :multipart => true do |f| %>
<% end %>
내 모든 경로
은 다음과 같습니다def set_guide
@guide = User.friendly.find(params[:guide_id])
end
경로는 다음과 같습니다 :
내 방법은 내가 가이드 사용자를 찾을 수있는 것입니다
namespace :guide do
resources :guides, :path => '/' do
resources :packages
end
end
새로운 기능은 완벽하게 작동하며 레코드도 생성하지만 새 양식을 사용하여 양식을 편집 할 수 없습니다.
편집 링크에서'@ guide' 및'guide_package'의 값은 무엇입니까? – mmichael
@mmichael 그'/ guide/muhammad-hassan/packages/1/edit'는 @guide :'muhammad-hassan'과 guide_package :'1'입니다. 메서드 이름에서'muhammad-hassan'을 찾고 있습니다 :'@guide = User.friendly.find (params [: guide_id])'. 내 경로가 괜찮습니까? form_for에 중첩 된 경로를 의미합니까? – LearningROR