你好我创建一个收藏夹功能,但它在数据库中创建了重复的ID。它正确地存储了id,但它复制了条目。
以我最喜欢的形式,我...
<div id="favorite_form">
<% if current_user.favorited?(@lesson) %>
<%= render 'unfavorite' %>
<% else %>
<%= render 'favorite' %>
<% end %>
</div>
而我最喜欢的部分是......
<%= puts "xx favorite partial"%>
<%= form_for(current_user.favorite_relationships.build(lesson_id: @lesson.id), remote: true) do |f| %>
<div><%= f.hidden_field :lesson_id %></div>
<%= f.submit "Favorite", class: "btn btn-large btn-primary" %>
<% end %>
当用户点击收藏夹按钮时,应该调用我的FavoriteRelationships #create
def create
puts "xx create"
puts params[:favorite_relationship][:lesson_id]
@lesson = Lesson.find(params[:favorite_relationship][:lesson_id])
current_user.favorite!(@lesson)
respond_to do |format|
format.html { redirect_to @lesson }
format.js
end
end
在上面的代码中,我称我的用户模型功能为最爱!看起来像......
def favorite!(lesson)
puts 'xx favorite'
favorite_relationships.create!(lesson_id: lesson.id)
end
我把print语句出于某种原因...'xx create'被调用两次,'xx favorite'也是如此。部分被渲染一次,这是正确的,因为'xx favorite partial'只出现一次。但是我的FavoritesRelationships #create被调用了两次
发生了什么事?
在我的课程模型中,这是用户想要收藏的内容..
belongs_to :user
has_many :favorite_relationships
has_many :users, :through => :favorite_relationships
在我的用户模型中我有
has_many :lessons
has_many :favorite_relationships
收藏夹功能只是网络应用程序的一部分,这就是我有多个关联的原因。
最后但并非最不重要的是我在我的最爱_关系.rb
belongs_to :user
belongs_to :lesson
我不认为这是一个关联问题,但这可能就是为什么我还是粘贴了代码。
出了什么问题?帮助将不胜感激。谢谢!答案 0 :(得分:0)
rake assets:clean