2017-04-20 1 views
0

질문 횟수는 몇 번이고 나도 마찬가지입니다. 오류가 있지만 그것을 고칠 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 

새로운 기능은 완벽하게 작동하며 레코드도 생성하지만 새 양식을 사용하여 양식을 편집 할 수 없습니다.

+0

편집 링크에서'@ guide' 및'guide_package'의 값은 무엇입니까? – mmichael

+0

@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

답변

0

나는 비슷한 문제에 직면 해있다. 내 솔루션은 다음과 같습니다.

<%= link_to "Edit", edit_guide_guide_package_path(:guide_id => @guide.id, :id => guide_package.id), title: "Edit" %> 

여러분을 돕기를 바랍니다.

+0

여전히 같은 오류입니다. 위의 오류가 발생했습니다 :'<% = form_for [: guide, @guide_package], : multipart => true do | f | %>' – LearningROR

0

시도해보십시오.

<%= form_for [@guide, @guide_package], :multipart => true do |f| %> 
<% end %> 
+0

그것은 : # <# : 0x007fdde89613b0> – LearningROR

+0

에 대한 정의되지 않은 메소드'user_guide_package_path '를 말합니다 : 편집 방법조차도 :'@guide_package = @ guide.guide_packages.new'하지만 새로운 형태를 렌더링합니다. :'@guide_package = @ guide.guide_packages.where (id : params [: id]). first' 문제의 오류로 편집 할 때 같은 오류가 발생합니다. – LearningROR

관련 문제