0
Package
belongs_to
Shop
이 있습니다. 내 응용 프로그램에서 사용자는 자신의 상점에 대한 패키지를 만들 수 있습니다. 나는 작동하도록 '패키지 만들기'를 가지고 있지만 아무것도 입력하지 않고 저장하려고하면 리디렉션에 오류가있는 것으로 보입니다.리디렉션시 중첩 된 리소스 오류가 발생했습니다.
NoMethodError in Packages#create
undefined method `packages_path' for #<#<Class:0x007fab67191580>:0x007fab634ad7b8>
Extracted source (around line #6):
5:
6: <%= form_for [@shop, @package] do |f| %>
어떤 도움 : 여기
# package.rb
belongs_to :shop
validates_presence_of :name, :price, :description
# controller
def new
@shop = current_user.shop
@package = Package.new
end
def create
@package = current_user.shop.packages.build(params[:package])
@package.currency = current_user.shop.currency
if @package.save
flash[:success] = 'Package added.'
redirect_to shop_path(current_user.shop)
else
render 'new'
end
end
# routes.rb
resources :shops, except: [:destroy] do
resources :packages
end
# new.html.erb
<%= form_for [@shop, @package] do |f| %>
오류인가?
다른 옵션 중 하나는 오류 발생시 생성 작업에서 @shop 인스턴스 변수를 설정하는 것입니다. – Swards
''오류 발생시 생성 액션에서 @shop 인스턴스 변수를 설정하십시오. ' –