ruby on rails - undefined local variable in nested resource form -


i'm trying build nested resource form simple_form.

i have 2 classes:

class product < activerecord::base    has_one    :product_review, dependent: :destroy end  class productreview < activerecord::base end 

i added routes , in routes have

                  admin_product_product_reviews      /admin/products/:product_id/product_reviews(.:format)                                   admin/product_reviews#index                                                 post     /admin/products/:product_id/product_reviews(.:format)                                   admin/product_reviews#create                new_admin_product_product_review      /admin/products/:product_id/product_reviews/new(.:format)                               admin/product_reviews#new               edit_admin_product_product_review      /admin/products/:product_id/product_reviews/:id/edit(.:format)                          admin/product_reviews#edit                    admin_product_product_review      /admin/products/:product_id/product_reviews/:id(.:format)                               admin/product_reviews#show                                                 patch    /admin/products/:product_id/product_reviews/:id(.:format)                               admin/product_reviews#update                                                 put      /admin/products/:product_id/product_reviews/:id(.:format)                               admin/product_reviews#update                                                 delete   /admin/products/:product_id/product_reviews/:id(.:format)                               admin/product_reviews#destroy 

i need create form build , edit product_review.

i create button:

= link_to new_admin_product_product_review_path(product) 

and create form

= simple_form_for [product,product_review], url: admin_product_product_review_path |form| 

but returns me error:

undefined local variable or method `product' #<#<class:0x007fbaf54d1720>:0x007fbae974ea90> 

what's problem?

you relation association wrong. if have "has_one" in 1 model should have "belongs_to" in other.

then should find product want add review to. "@product"

then build review product. build_association

http://guides.rubyonrails.org/association_basics.html

model

class productreview < activerecord::base    belongs_to :product end 

controller

@product = product.find(params[:id]) 

view

form_for (@product,@product.build_product_review) 

Comments

Popular posts from this blog

javascript - jquery or ashx not working -

opencv - DataType<cv::detail::deriv_type>::depth what is it used for -

python 3.x - Mapping specific letters onto a list of words -