2017-06-13 37 views
1

我有這方面的工作非常相似,但是另一個控制器我需要改變這種關係稱爲agreements_controller另一個控制器。我想創建一個有一個模型。 review has one and belongs to agreements未初始化的常量ReviewsController ::評論

爲什麼沒有行被正確創建?

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 

我試圖在網上找到類似的例子,但所有我能找到的嵌套形式......我並不需要一個嵌套的表格我只想審查,以創建一個有一個。

回答

4

模型是奇異。使用

Review.create(review_params) 
+0

我不會說模型是單數,特別是_his_模型特別單一。如果你看,他上面的代碼示例甚至證明'Review'是他的類名。 – Pachonk

+0

模型並不總是單一的? – gates

+0

不總是,但默認情況下它們是。它們可以用'--force-plural'強制生成爲複數形式。在這種情況下,「真正」的答案是,如上圖所示_his_模型是奇異的,所以他的代碼讀取他的控制器應調用它。 – Pachonk

相關問題