class User < ActiveRecord::Base
has_one :wishlist # or belongs_to :wishlist, it depends which you prefer
end
class Wishlist < ActiveRecord::Base
belongs_to :user
has_and_belongs_to_many :items
end
过程和迁移IM即时通讯:
./script/rails generate migration create_item_wishlists wishlist_id:integer item_id:integer
创造加盟项目和心愿间表。
UPDATE:要回答评论“弗兰克暴风雪”的问题:
比方说,你有相同的结构,我的回答(只是改变项目产品或其他型号名称),以HABTM关系你只是需要新的“项目”增加的“项目”集合,然后保存心愿:
@user.wishlist.items << item
@user.wishlist.save
你可以把它法用户:
class User
def add_to_wishlist(item)
wishlist.items << item
end
end
如果您想删除或修改“items”的集合,只需使用Array中的任何Ruby方法,然后保存wishlist,它将检查您的差异并仅保存更改。
来源
2011-04-29 12:19:58
MBO
我在我的rails应用程序中生成了和上面一样的愿望清单关系,但是现在我不知道如何去添加product_id到用户的愿望清单中去......如果您有愿望,请分享一下想法吗?谢谢! – tmaximini 2012-04-09 20:34:20
@frankblizzard看到我的答案,我刚刚更新了解决方案,为您的问题。 – MBO 2012-04-11 07:13:12
非常感谢很多人......非常感谢! – tmaximini 2012-04-11 11:35:56