我知道問題被問及次數,我也有錯誤,但無法修復它。沒有路線匹配{: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
指數從我點擊編輯鏈接:
<%= link_to "Edit", edit_guide_guide_package_path(@guide, guide_package), title: "Edit" %>
我的方法是,我覺得引導用戶:
def set_guide
@guide = User.friendly.find(params[:guide_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 %>
我的所有路線是:
namespace :guide do
resources :guides, :path => '/' do
resources :packages
end
end
新作品完美並創建記錄,但我無法使用新形式編輯我的表單。
在您的編輯鏈接中,「@ guide」和「guide_package」的值是什麼? – mmichael
@mmichael它的'/ guide/muhammad-hassan/packages/1/edit' so @guide:'muhammad-hassan'和guide_package:'1'。我從方法名稱中找到'muhammad-hassan':'@guide = User.friendly.find(params [:guide_id])''。我的路線可以嗎?我的意思是form_for的嵌套路線? – LearningROR