链接路径
我开始on Rails的,现在我有一些问题,我不能打通,这里有一个例子:链接路径
我有一个表称为产品具有姓名,照片等,一张名为review的表格,其名称和product_id
。每个产品可以有多个评论,每个评论只有一个产品。当我在索引页上选择一个产品时,它将我引导到显示视图,我将此链接放在那里<%= link_to 'Reviews', review_path(@product)%>
,它将我重定向到/reviews/1
,它只显示我的一个评论,并且我试图显示每个评论从产品1.
我有以下代码尝试捕获产品中的所有评论。我如何才能在@review
只有product_id=1
的评论?
def show_prod
@review = Review.find(params[:product_id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @review }
end
end
非常感谢,但我仍然得到同样的错误
你有一个零对象时,你没想到吧! 您可能已经预期了Array的一个实例。 评估nil时出现错误
这是从评论索引页面,当我写一个产品的所有评论。它看起来的一样从控制器@reviews没有得到任何产品和对象是零..
感谢所有帮助
退房this tutorial on Rails 3 routing,ESP。关于的部分嵌套资源。
我的猜测是,你得到的路径(使自己的该产品的所有评论列表)会像/product/1/reviews
首先,在routes.rb中
resources :products do
resources :reviews
end
创造下的产品嵌套在评价
链接到它的产品。
link_to "Reviews", product_reviews_path(@product)
然后范围的审查控制器的产品,这样的:
class ReviewsController < ApplicationController
before_filter :load_product
def index
@reviews = @product.reviews
end
def show
@review = @product.reviews.find(params[:id])
end
protected
def load_product
@product = Product.find(params[:product_id])
end
end
非常感谢,但我仍然得到相同的错误 你有没有对象,当你没有想到它!您可能预期了Array的一个实例。评估nil时出现错误。 这是从评论索引页面,当我写一个产品的所有评论。它似乎是从控制器的@reviews没有得到任何产品和对象是零.. 感谢您的任何帮助 –
问题,只有谁on Rails的使用Ruby的人都听命应被标记“的Ruby-on-轨道”,而不是“红宝石”。如果你不确定你的问题是关于Ruby on Rails还是关于Ruby,那么用两个标签标记它,然后有人会删除不适用的标签。 –