草庐IT

simulate_many

全部标签

ruby-on-rails - has_many :through, 缓存、touch 和 counter_cache 的问题

我的应用程序中有很多has_many:through关系。我extensivley显示与此相关的信息,例如连接对象的数量。每当用户更新关系时,连接表都会被修改,我可以捕获这个我的清道夫。问题是,连接表条目是删除,而不是销毁。如果关系消失了,我没有合理的方法来检测它,并且我正在显示来自缓存的误导性信息。像:touch=>true或:counter_cache=>true这样的东西都是部分工作的。如果更新或创建关系,它会增加。但是,如果用户删除关系,则什么也不会发生。:counter_cache被破坏,:touch不触发。垃圾解决方案是在保存主模型时在Controller中调用.touch

ruby - bundle : How many parallel jobs?

Bundlesupportsparallelprocessing使用--jobs:The--jobsoption(-jforshort)installsgemsinparallel.Forexample,bundleinstall-j4willuse4workers.We'veseenspeedupsof40-60%onfreshbundleinstalls.Toalwaysinstallinparallel,runbundleconfig--globaljobs4orsetBUNDLE_JOBS.4是这里使用的示例,但为什么不是2或8?是否有最佳数量或计算并行进程最佳数量的方法?如果

ruby-on-rails - has_one/has_many rails 与主键以外的备用源 ID 关联

我有3个模型。模型A属于模型B,模型B有多个模型C通过使用through我可以在模型A类中设置has_many:c,through::b现在每当我调用a_instance.cs它会不必要地加入表B我想要的是A的直接关联&C使用b_id在A和C类中。那么我如何在没有through的情况下编写一个has_one/has_manyrails关联?当源实体和目标实体都具有第三实体的相同foreign_key时的子句?(本例为b_id)classCbelongs_to:b#b_idcolumnisthereinDBendclassBhas_many:csendclassAbelongs_to:b

ruby-on-rails - rails 3 : How to disable autosave of has_one and has_many associations?

我有一个用户模型,其中有一个图片。我怎样才能禁用自动保存选项。当我尝试以下操作时出现错误。我正在使用Rails3。classUser"ImageMapping",:as=>:imageablehas_one:image,:through=>:image_mapping,:class_name=>"Image",:autosave=>falseend它说未知key:自动保存没有正确加载autosave_association.rb吗? 最佳答案 这可能无法解决您的问题,但也许您发现它有帮助:has_one:through似乎有问题。例

ruby-on-rails - 相同 2 个模型之间的多个 has_many/belongs_to

我很好奇这是如何工作的...我在相同的两个模型之间有几个has_many关系。这是一个日历应用程序,因此可以邀请用户参加事件,用户可以参加事件,并且事件属于用户,以便查看谁创建了事件。用户.rbclassUser{wherecancel:false},dependent::destroyhas_many:events,->{where"attendances.cancel"=>false},through::attendances事件.rbclassEvent{wherecancel:false},dependent::destroyhas_many:users,->{where"at

ruby-on-rails - 当查询使用 includes 时,Rails 如何处理 has_many?

如果我有一个包含许多帖子的用户模型,那么在以下场景中,Rails将对数据库执行多少次查询?classUserhas_many:posts#thisisthemainmethodinquestion...defhas_posted?posts.any?{|p|p.posted?}endend#hasanattr"posted"whichisabooleanclassPostbelongs_to:userend#somecontrollerusers=User.includes(:posts).all#intheview当我在has_posted?方法中循环返回的帖子以防止多次查找每个用户

ruby-on-rails - Rails has_many 没有 belongs_to

我正在使用Rails4并尝试实现一个Notif模型,该模型应该有一组已经看到它的用户。我的想法是使用has_many关系(notifhas_many:users),我将看到通知的用户添加到users。我遇到的当前问题是我无法调用@notif.users因为它声明columnusers.notif_iddoesnotexist因为我没有使用属于。一种解决方案是使用多对多关系;但是,我想避免为每个查看通知的用户创建单独的关联(试图节省数据库空间)。有没有一种方法可以在没有has_many关系的情况下有效地拥有users字段?我想我只是想在我的notif模型中存储一组用户ID。

ruby-on-rails - 访问 has_many 中的连接模型属性 : though relationship

我有这个模型和关联多对多:通过:classRailwayStation我添加了列st_index:add_column:railway_stations_routes,:st_index,:integer对于route的索引站,但我不明白如何从路线View表单中更改它:ul-@route.railway_stations.eachdo|railway_station|li=railway_station.title=???? 最佳答案 首先,您需要更正模型和表格的命名方案,以便它们遵循Rails约定。从命令行运行:$railsgmi

ruby-on-rails - Rails 3.1 - has_and_belongs_to_many 已弃用?

我目前有一个应用程序Rails3.0.9,具有非常简单的多对多关系:classUser"users_stores"end我到处都弹出以下警告:弃用警告:在has_and_belongs_to_many关联的连接表上添加附加属性已弃用,并将在Rails3.1中删除。请改用has_many:through关联。问题是,我在连接表上没有任何额外的属性:sqlite>.schemausers_storesCREATETABLE"users_stores"("user_id"integer,"store_id"integer);has_and_belongs_to_many是否在Rails3.1

ruby-on-rails - Rails 的问题 has_many 关系

我正在编写一个应用程序,用户可以在其中创建自己的页面供他人发帖,并关注用户创建的页面上的帖子。这是我的模型关系目前的样子...classUser:followings,:source=>:userclassPage:followingsclassFollowing当我试图通过关系来创建一个给定用户正在关注的页面(和相应帖子)的主页时,问题就发生了(类似于Twitter用户主页在您登录时的工作方式-一个页面为您提供您正在关注的页面中所有最新帖子的综合View)......当我尝试调用followings.pages时出现“找不到方法”错误。理想情况下,我希望能够以某种方式调用User.p