你好,我正在创建一个收藏夹功能,但它在数据库中创建了重复的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 %>
这应该是在用户单击收藏夹按钮时调用我的收藏夹关系#创建
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
我输入了打印语句,出于某种原因......"xx create"被调用了两次,"xx favorite"也是如此。 部分呈现一次,这是正确的,因为"xx 最喜欢的部分"只出现一次。 但是我的收藏夹关系#创建被调用了两次
这是怎么回事?
在我的课程模型中,这是用户试图收藏
的我所拥有的.. belongs_to :user
has_many :favorite_relationships
has_many :users, :through => :favorite_relationships
在我的用户模型中,我有
has_many :lessons
has_many :favorite_relationships
收藏夹功能只是 Web 应用程序的一部分,这就是我有多个关联的原因。
最后但并非最不重要的是,我的favorite_relationship.rb
belongs_to :user
belongs_to :lesson
我不认为这是关联问题,但可能是我无论如何粘贴代码的原因。
出了什么问题?如能提供帮助,将不胜感激。谢谢!
我修复了它。 有些东西腐败了,我必须做
rake assets:clean