Tag: 协会

关于Rails上的关联和模型的问题

我最近一直致力于一个项目,玩家可以创建一个团队并成为团队所有者,但是一个玩家也可以通过一个名为Squad的单独表格成为团队的一员。 class Player has_many :teams has_many :squads end class Squad belongs_to :player belongs_to :team end class Team belongs_to :owner, :class_name => “Player” has_many :squads has_many :players, :through => “squads” end 我不知道这是否是我需要做的我想要的东西,但我无法弄明白。 如何让玩家通过Squad邀请加入团队,团队的所有者对该玩家回答是或否? 如果是的话,他加入了Squad表,并且是团队的一员。 如果不是,他的请求就会被销毁。

Rails,在两个模型之间设置collections夹

我按照这里的步骤设置用户模型和公司模型之间的collections夹关系。 具体而言,用户可以拥有许多喜欢的公司。 还有一个用户在创建时绑定到公司的function。 所以这是我当前的模型/路由/数据库架构 楷模 class FavoriteCompany < ActiveRecord::Base belongs_to :company belongs_to :user … class User < ActiveRecord::Base has_many :companies has_many :favorite_companies has_many :favorites, through: :favorite_companies … class Company < ActiveRecord::Base belongs_to :user has_many :favorite_companies has_many :favorited_by, through: :favorite_companies, source: :user 路线 (可能不适用) resources :companies do put :favorite, on: :member end DB Schema ActiveRecord::Schema.define(version: 20140429010557) […]

Rails:查找父对象的所有关联对象

我在rails中创建了一个复杂的对象,主要的父对象为“Resume”,每个部分都有一些子对象(“objective_section”,“contact_section”等),有没有办法可以将所有关联的对象提取到父对象简历?

在与Squeel相同的关联上执行多个连接

在我的应用程序中,我必须建模:工作流程和步骤; 步骤belongs_to工作流程和工作流程has_many步骤。 步骤具有索引和布尔状态(“已完成”)。 我想检索其步骤1已完成且步骤2未完成的工作流程,即SQL中的类似内容: SELECT * FROM workflows w INNER JOIN steps s1 ON s1.workflow_id = w.id INNER JOIN steps s2 ON s2.workflow_id = w.id WHERE s1.index = 1 AND s1.completed = 1 AND s2.index = 2 AND s2.completed = 0 我试图用Squeel表达这个查询,但它似乎不允许在同一个关联上进行多个连接:我找不到命名连接的方法,当我输入类似这样的内容时: Workflow.joins{steps}.joins{steps} ,生成的SQL就是: SELECT `workflows`.* FROM `workflows` INNER JOIN `workflow_steps` ON `workflow_steps`.`workflow_id` = `workflows`.`id` […]

使用vestal_versions的版本化关联?

我想确定在切换到可以支持版本化关联的另一个版本控制gem之前,vestal_versions是否支持版本化关联(似乎它没有)(例如=> has_versioning) 。 我还没有查看代码,但我找不到与自述文件或github上的问题部分的版本化关联有关的任何内容。 帮助将不胜感激!

在两个实例化对象之间创建关联

我有两个型号:(专辑和产品) 1)内部模型 在album.rb里面: class Album < ActiveRecord::Base attr_accessible :name has_many :products end 内部product.rb: class Product < ActiveRecord::Base attr_accessible :img, :name, :price, :quantity belongs_to :album end 2)使用“ rails console ”,如何设置关联(所以我可以使用“”)? 例如 a = Album.create( :name => “My Album” ) p = Product.create( :name => “Shampoo X” ) # what’s next? how can i set the album […]

如何在Rails 3中创建自定义“关联方法”?

我读过这篇文章,但它适用于Rails 1.x. 我真的想创建自己的关联方法: user = User.find(1) # Example of a normal association method user.replies.create(:body => ‘very informative. plz check out my site.’) # My association method user.replies.find_by_spamminess(:likelihood => :very) 在Rails 3中,这样做的正确方法是什么?

设计的Rails:关联问题

我已经制作了新的Rails应用程序。 只有一个User模型(通过Devise生成)和使用scaffold生成的Post模型完全是新鲜的。 在Post模型中,我在数据库中有一个名为user_id 。 问题是Post表中的user_id始终为nil (它不会更改为发布的用户的user_id )。 我怀疑这与Devise有关,但我不完全确定。 关于该怎么做的任何建议? user.rb class User < ActiveRecord::Base devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable attr_accessible :email, :password, :password_confirmation, :remember_me has_many :posts, dependent: :destroy end post.rb class Post < ActiveRecord::Base attr_accessible :title, :user_id belongs_to :user end 的Gemfile source ‘https://rubygems.org’ gem ‘rails’, ‘3.2.13’ gem ‘bootstrap-sass’, ‘2.1’ gem ‘devise’ group :development […]

在Rails中,如何创建用户组作为另一个关联,例如“成员”?

我试图在两个现有模型User和Dwelling之间创建一个特殊的关系。 Dwelling在创建时只有一个所有者( Dwelling belongs_to :user , User has_one :dwelling )。 但其他用户可以添加到这个Dwelling作为Roomies (现在没有为此创建模型, Roomie是一个概念关系)。 我认为我不需要单独的模型,而是需要与现有模型建立特殊关系,但我可能错了。 我认为需要使用Users表中的user_id进行引用。 我不确定从哪里开始这个。 感谢您的帮助! 例如: Dwelling1 user_id: 1 roomies: [1, 2, 3, 4] 其中1,2,3,4是user_ids。 更新的模型 Dwelling Model # dwelling.rb class Dwelling “User”, :foreign_key => “owner_id” has_many :roomies, :class_name => “User” validates :street_address, presence: true validates :city, presence: true validates :state, presence: true […]

使用Rails创建嵌套的JSON请求

我有点复杂的情况。 我正在构建一个带有rails后端的iPhone应用程序。 有两个模型对象,一个聊天会话和一个人。 它们的定义如下: class Person < ActiveRecord::Base belongs_to :chatsession end class Chatsession “Person” end 领导者本质上是特定聊天会话的主要人物。 现在,从我的iPhone应用程序中,我希望能够在一次调用中与领导者创建一个Chatsession(通常网络调用在iPhone上很昂贵,所以我想避免创建一个Person对象,然后创建一个会话对象)。 可能的JSON请求可能如下所示: {“chatsession”: {“leader”: {“name”:”mary”,”device_id”:”1111″}}} 在我创建方法的chatsession控制器上,我希望能够吸入这个JSON并让它创建一个新的聊天会话对象和相关的人物对象。 执行此操作的相关代码将是: class ChatsessionController < ApplicationController def create @chatsession = Chatsession.new(params[:chatsession]) end 在我的function测试中,它使用以下代码: test “should create session” do # people(:one) is retrieving from a fixture post :create, :chatsession => { :leader => people(:one) } […]