Ruby On Rails嵌套控制器:创建模型故障

时间:2012-06-26 20:45:05

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1 controller

我在用户下嵌套了控制器评论,两者都是由脚手架生成器生成的;视图/索引操作效果很好,但是当我尝试创建模型(/ users / 1 / reviews / new)时出现错误

No route matches {:controller=>"reviews", :user_id=>#<Review id: nil, user_id: nil, reviewer_id: nil, predisposition: nil, description: nil, created_at: nil, updated_at: nil>}

我尝试将form_for @review更改为form_for user_reviews_path(@review),但 create 操作时出现相同的错误。

我该如何解决这个问题?

如果你向我推荐一本关于Ruby On Rails食谱的书(我从实用中读过ROR食谱,但这太简单了),我将不胜感激。

1 个答案:

答案 0 :(得分:2)

在您的控制器中:

@user = User.find params[:id]
@review = @user.reviews.build(<enter your initialization params here>)

在您看来:

=form_for [@user, @review] do |f|

我会从优秀的http://ruby.railstutorial.org/开始,当然还有http://railscasts.com