在我的 rails 应用程序中,我为我的声音评分创建了评分。在评分中,用户可以添加信息,例如他为什么给这个评分等。
我的评分很好,但现在我想用 best_in_place 添加信息的编辑输入。
所以在我看来#Sound show
<%= best_in_place @rating, :info, :type => :textarea, :nil => "Ajouter un commmentaire à votre vote !" %>
在我的控制器中:评级:
def create
@sound = Sound.find_by_id(params[:sound_id])
@rating = Rating.new(params[:rating])
@rating.sound_id = @sound.id
@rating.user_id = current_user.id
if @rating.save
respond_to do |format|
format.html
format.js
end
end
end
def update
@sound = Sound.find_by_id(params[:sound_id])
@rating = current_user.ratings.find_by_sound_id(@sound.id)
@rating.sound_id = @sound.id
if @rating.update_attributes(params[:rating])
respond_to do |format|
format.html
format.js
end
end
end
但是当我想用 best_in_place 编辑“信息”时,我有这个错误:
为 nil 调用 id,它会错误地为 4 - 如果你真的想要 nil 的 id,请使用 object_id
车道是:
@rating = current_user.ratings.find_by_sound_id(@sound.id)
我希望你能理解我的问题,并且你可以帮助我进行 in_place_editing 工作。
谢谢