未初始化的常量ReviewsController ::评论

时间:2017-06-13 03:12:20

标签: ruby-on-rails ruby forms activerecord has-one

我的工作与另一个控制器非常相似,但我需要将此关系更改为另一个名为agreements_controller的控制器。我想创建一个有一个模型。 review has one and belongs to agreements

为什么没有正确创建行?

reviews_controller:

class ReviewsController < ApplicationController

  def create
     @review = Reviews.create(review_params)
  end


  private

  def review_params
    params.require(:review).permit(:comment, :star, :agreement_id, :user_id, :reviser_user_id)
  end

end

_form.html.erb

<%= form_for([agreement, agreement.build_review] ) do |f| %>

<% end %>

agreement.rb

class Agreement < ActiveRecord::Base
  has_one :review, :dependent => :destroy
end

review.rb

class Review < ActiveRecord::Base
  belongs_to :agreement   
  belongs_to :reviser_user
  belongs_to :user
end

我试图在网上找到类似的例子,但我能找到的只是嵌套表格......我不需要嵌套表单我只想让评论创建为有一个。

1 个答案:

答案 0 :(得分:4)

模型是单数。使用

Review.create(review_params)