【发布时间】:2014-06-03 23:46:56
【问题描述】:
我想创建和删除评论
在模型的评论中,我有:user_id、spectacle_id、content 和 rating。
# Spectacle.rb
class Spectacle < ActiveRecord::Base
has_many :reviews , dependent: :destroy
has_many :users, through: :reviews
end
# User.rb
class User < ActiveRecord::Base
has_many :reviews , dependent: :destroy
has_many :spectacles, through: :reviews
end
# Review.rb
class Review < ActiveRecord::Base
belongs_to :spectacle
belongs_to :user
end
如何编写创建和删除方法?
谢谢!
非常感谢
我的当务之急是:我想同时保存她的属性,user_id 和 spectacle_id
我会这样做:
定义创建 @user = User.find(params[:id]) @spectacle = Spectacle.find(参数[:id]) @user.reviews.create(user_id: @user.id)
@spectacle.reviews.create(spectacle_id: @spectacle.id)
@review = Review.new(review_params)
if @review.save
flash[:success] = "Review created!"
redirect_to :root
else
render 'home'
end
结束
我的浏览器出现了一些错误:
ReviewsController#create 中的 ActiveRecord::RecordNotFound 找不到没有 ID 的用户
怎么了?
谢谢
【问题讨论】:
-
你可以做这样的事情 .. User.spectacles.build(#attributes) User.spectacles.create(#attributes) 阅读 ruby on rails .. 你会得到这个东西
标签: ruby-on-rails ruby-on-rails-4