Tag: 关联

Datamapper:通过关联对结果进行排序

我正在开发一个使用Datamapper作为其ORM的Rails 3.2应用程序。 我正在寻找一种通过关联模型的属性对结果集进行排序的方法。 具体来说我有以下型号: class Vehicle include DataMapper::Resource belongs_to :user end class User include DataMapper::Resource has n, :vehicles end 现在我希望能够查询车辆并按驱动程序的名称对它们进行排序。 我尝试了以下但似乎没有使用Datamapper: > Vehicle.all( :order => ‘users.name’ ) ArgumentError: +options[:order]+ entry “users.name” does not map to a property in Vehicle > Vehicle.all( :order => { :users => ‘name’ } ) ArgumentError: +options[:order]+ entry [:users, “name”] of […]

在Simple Form Association中指定值

我正在尝试选择特定记录但是在尝试保存时, employee_id以空值保存,并且没有任何条件它正常工作,有什么方法可以解决这个问题吗? true).map(&:full_name) %>

如何在rails中保存包含其他模型属性的模型?

在我的项目中,我有一个Organization模型和一个Address模型。 以下是模型之间的关联: class Organization < ApplicationRecord has_one :address accepts_nested_attributes_for :address end class Address < ApplicationRecord belongs_to :organization end 我在我的新组织表单中添加了这样的地址属性(form_with用于Organization属性,fields_for用于Address属性): Street number: Street: City: Province: Postal code: 当我试图用他的地址保存组织时,组织被保存,但他的地址不是。 如何保存组织的地址? 这是我的OrganizationController: def new @organization = Organization.new @organization.build_address end def create @organization = Organization.new(organization_params) @organization.save //… end def organization_params params.require(:organization).permit(:organizationName, :email, :webSite, address_attributes:[:streetNumber, :street, :city, :province, :postalCode]) end […]

如何实现具有3个固定分类的jobpostfunction

我想要做的是创建放置模型,用于发布3个固定类别的工作,即实习,公司和自由职业。将有一个安置菜单,将有3个menues作为实习,公司和自由职业者,并根据用户选择,对于这3个类别,将显示相同的职位发布表格以创建职位。 在显示工作岗位时,将根据类别显示不同的视图。 我没有得到我应该如何实现这一点。我是否应该创建位置和类别作为一个不同的模型,并给予关联作为多个类别的位置和属于类别的位置,但如果我这样做,在类别模型我有3固定的选择,我不会接受用户的选择,那么我如何在模型中添加这3个选项将被修复并按类别添加它们的工作岗位? 我该如何实现这个展示位置?

档案模型关联问题

使用与User模型的has_one / belongs_to关联创建自己的模型是个好主意,还是配置文件的属性只是用户数据库中的列?

Rails包括与左连接中的条件的关联

我可以为Rails为includes方法生成的LEFT JOIN sql添加一些条件吗? (Rails 4.2.1,postresql)。 我需要通过预加载来获取所有(!)用户(当我将放置评论,post等的视图计数时不是N + 1),但是关联需要通过某些条件进行过滤。 例: User.includes(:comments) # => SELECT * FROM users LEFT JOIN comments ON … 这将返回所有用户并预加载评论(如果存在)。 如果我在where添加“comments”关联的一些条件,那么SQL不会返回所有用户,例如: User.includes(:comments).where(comments: {published_at: Date.today}) # => SELECT * FROM users LEFT JOIN comments ON … WHERE comments.published_at = … 这将仅返回今天发布的有评论的用户。 我需要在LEFT JOIN放置条件并保存预加载 (将对象加载到内存中 – 使用joins方法的简单左连接不会预加载关联)。 SELECT * FROM users LEFT JOIN comments ON […]

与同一模型的多重关系

我有两个模型’资产’和’用户’。’资产’可以分配给一个’用户’而’资产’是由一个’用户’创建的。其中有模型类的详细信息 class Asset ‘User’ belongs_to :creator ,:class_name=>’User’ end 和 class User < ActiveRecord::Base has_many :assets end 现在在资产show.html.erb我可以访问创建者的名字 @asset.creator.name 但我看不到’assigned_to’的名字 @asset.assigned_to.name #gives nothing 这两个值都成功保存在数据库中。问题是什么?

has_one / has_many具有依赖的销毁但使用不同的密钥名称

所以我正在看某人的代码,其中包含以下内容(转述): class user has_one :connection, :dependent => :destroy has_one :second_user, :through => :connection, :class_name => ‘User’ end class connection belongs_to :user belongs_to :second_user, :class => ‘User’ end 如果我有一个连接对象并删除关联的“用户”,它可以被销毁。 但我也希望这样做,如果占用’second_user’字段的用户被破坏,连接就会被破坏。 如何在不浪费太多的情况下完美无缝地完成(希望不需要迁移)? 谢谢!

Rails 5 – 从父控制器上的编辑路径中排除特定实例

我在我的Rails 5应用程序中有用户,提案和潜力的模型。 用户创建提案,然后他们自己和其他人可以创建评论。 模型之间的关联是: 用户 has_many :proposals, dependent: :destroy has_many :potentials 提案 belongs_to :user has_many :potentials, inverse_of: :proposal accepts_nested_attributes_for :potentials, reject_if: :all_blank, allow_destroy: true 潜在 belongs_to :proposal, inverse_of: :potentials belongs_to :user 在我的路线文件中,我有两个潜在的资源。 我不确定我是否已经离开了滑雪道 – 我无法找到一个如何做到这一点的例子。 我有两个: resources :potentials 以及: resources :proposals do resources :potentials 我这样做的原因是,当用户创建提案时,他们可以使用嵌套字段表单来添加潜在属性。 当另一个用户看到该提案时,他们会获得一个新表单来添加:潜在的属性集(他们不会通过提案表单执行此操作)。 在我的潜力视图文件夹中,我有新的渲染forms的视图以及我的提案表单中包含的potential_fields_for(只有提案创建者可以使用嵌套字段)。 新/渲染表单有: f 提案表格包括: 在我的提案控制器中,我正试图找到一种方法来排除第三方创建:来自提案表单中显示的字段的潜力。 def edit @proposal.potentials_build unless […]

Rails形成三个模型和命名空间

很长一段时间,我一直反对这个。 在Rails 2.3.2,Ruby 1.9.1上。 尝试使用一个表单来创建具有这些关系的三个对象: class Person has_one :goat end class Goat belongs_to :person has_many :kids end class Goat::Kid belongs_to :goat end 这是架构的摘要: Person first_name last_name Goat name color Goat::Kid nickname age 我希望我的#create动作能够使用指定的关联来实例化所有三个模型的新实例。 然而,虽然看起来我的params散列正在传递给控制器​​(基于浏览器中的回溯日志), Goat::Kid对象没有收集参数。 irb(irb会话只是我想要完成的伪代表,所以如果它不调用#save!或任何其他必需品,它并不是真正意义上的正确。我试图通过浏览器/网络表单。) a = Person.new :first_name => ‘Leopold’, :last_name => ‘Bloom’ b = Goat.new :name => ‘Billy’, :color => ‘white’ c […]