虽然已经设置了参数,但是在请求时不检索信息

时间:2012-07-31 20:11:55

标签: ruby-on-rails-3.1

我正在尝试为餐馆页面添加评论部分,我使用hidden_​​fiedd将restauran_id传递到review#new页面,但是当我提交评论时,它并未指定{ {1}}进行审核并导致问题。

restaurant_id中的create行动中我有:reviews_controller

@review = Review.new

但是当我尝试从参数获取餐馆时,它说没有。

Parameters: {"review"=>{"score"=>"", "email"=>"", "restaurant_id"=>"471746462", 
"first_name"=>"", "content"=>"", "last_name"=>""}, 
"utf8"=>"✓", "commit"=>"Post Review",
"authenticity_token"=>"JzCoTOWj7k2huy9GTRknz+hU4Ej/Gg+dHEHvoz2vtcA="}

@restaurant = Restaurant.find_by_id(@review.restaurant_id)

查询:

@restaurant = Restaurant.find(params[:restaurant_id])

1 个答案:

答案 0 :(得分:0)

尝试:

@restaurant = Restaurant.find(params[review][:restaurant_id])

而不是:

@restaurant = Restaurant.find(params[:restaurant_id])

如果检查params散列,您会看到restaurant_idreview内的嵌套参数。