草庐IT

Associations

全部标签

sql - ruby rails : Best way to Iterate a Relation or Associations

我看到.where语句使用大量CACHEUserLoad消息发出大量请求而不是关联。这是真的还是假的?在这种情况下,我得到一个ActiveRecord_Relation:@dogs=Dog.where(user_id:current_user.id).order('created_atDESC')在另一种情况下,我得到一个ActiveRecord_Associations_CollectionProxy:@dogs=current_user.dogs.order('created_atDESC')当我在View中迭代时我在控制台日志中收到不同的消息:ActiveRecord_Relat

ruby-on-rails - 从 ActiveRecord_Associations_CollectionProxy 对象获取模型引用

我有两个事件记录模型classUser我想从activerecord关联中获取类Post的引用。user.posts.get_object_class目前我做的时候user.posts.class.to_s#Post::ActiveRecord_Associations_CollectionProxy有没有一种方法可以获取Post而不必“拆分”“::”上的字符串然后将其常量化? 最佳答案 使用model或klass属性-它将返回您要查找的常量:user.posts.model#=>Postuser.posts.klass#=>Pos

ruby-on-rails - rails : what's wrong with this multiple join with conditions on the associations?

这是我的模型:classDeck这是我尝试的发现:DeckCard.all:joins=>[:card,:deck],:conditions=>{{:decks=>{:game_id=>@game.id}},{:cards=>{:present=>true}}}我不断收到错误消息:all的未定义方法#Class:0x4b2a98>。我假设这是解析我的条件的误导性错误。我正在遵循ActiveRecordQuery指南。我不确定是使用单数形式还是复数形式的关联。看起来像belongs_to,你应该在:joins散列中使用单数形式,但我不确定在:conditions散列中,所以我都试过了,但

ruby-on-rails - RubyMine 错误 : Unable to find associated Rails Model for ':users' associations failed

我正在编写一些教程,但遇到了一些问题。RubyMine无法为“:users”关联找到关联的Rails模型失败我正在使用:-ruby矿7-Ruby版本meneger(rvm)-ruby​​-1.9.3-p551[x86_64]-ruby​​-2.1.5[x86_64]-railsRails4.1.8-gemsqllite3我的模型是:classCompany:worksendclassUser:worksendclassWorkShema.rbActiveRecord::Schema.define(version:20141207111312)docreate_table"compani

ruby-on-rails - rails 4 : form_for with associations

rails和ruby​​的新手。与form_for和关联作斗争。我正在尝试设置一个允许用户从客户端列表中进行选择的Rails应用程序。客户端通过has_many:through关系关联。我的模型按预期工作,我可以通过Rails控制台向用户添加客户端。我现在想将此功能移至Web界面。下面的代码是我尝试过的,但对我来说没有意义。我不确定哪个Controller操作是正确的操作。我应该在客户端的创建操作中处理表单POST吗?我实际上并不想创建新客户,我只是希望用户从现有客户列表中进行选择并创建关联。我的模型如下:classClient:user_clientshas_many:user_cl

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 - 事件记录 :includes - how to use map with loaded associations?

我有一个小型Rails应用程序,我正在尝试获取一些订单统计信息。所以我有一个Admin模型和一个Order模型,具有一对多关联。classAdmin我正在尝试使用此查询获取特定订单:admins=Admin.where(...).includes(:orders).where('orders.operation=?','newgifts!')正如预期的那样工作。但是当我尝试像那样使用map制作json时admins.map{|a|[a.name,a.orders.pluck(:operation)]}Rails使用新查询再次加载订单,忽略已经加载的对象。(5.6ms)SELECT"or

ruby-on-rails - 如何在不调用依赖 : :destroy on associations 的情况下销毁 Rails 模型

有没有一种方法可以销毁Rails模型,而无需为关联中的dependent::destroy调用回调。例子:classAdministration所以当我打电话Administration.find(id).destroy我只想删除记录和附件,但不要调用删除rosters的回调has_many:rosters,dependent::destroy--PS我不想禁用has_many:rosters,dependent::destroy。我只需要暂时禁用回调。 最佳答案 您可以保持关联不变,并通过以下方式之一跳过回调:1.使用delete

ruby-on-rails - rails 模型 has_many :through associations

我正在努力解决我的人际关系,但我在使用关联时遇到了问题。所以我有三个模型Workout、Exercise和WorkoutExercise。一个锻炼应该有很多练习,一个锻炼应该有不同的锻炼,因此我写道:classWorkout:workout_exercisesendclassExercise:workout_exercisesendclassWorkoutExercise我正在运行一些测试,但是一旦我创建了一个锻炼、锻炼然后​​将它们加入到workout_exercise类中,这些测试就没有通过。它不会让我像这样访问锻炼中的练习:Workout.createExercise.creat

ruby-on-rails - rails : Serializing deeply nested associations with active_model_serializers

我正在使用Rails4.2.1和active_model_serializers0.10.0.rc2我是API新手并选择了active_model_serializers,因为它似乎正在成为rails的标准(尽管我不反对使用RABL或其他序列化程序)我遇到的问题是我似乎无法在多级关系中包含各种属性。例如,我有:项目classProjectSerializer和估计classEstimateSerializer提案classProposalSerializer当我点击/projects/1时,上面会产生:{"id":1,"name":"123ParkAve.","updated_at":