Tag: 协会

Rails – 自定义html到simple_form标签

我正在尝试自定义simple_form关联的输出,基本上我需要在两行上显示复选框标签。 我的想法是在“标签”中添加一个“br”标签,但不幸的是它被转义,所以它显示实际上是“br”而不是去一个新线 我使用lambda来自定义标签输出 :check_boxes, :collection => current_user.items, :label => false, :label_method => lambda { |item| “#{item.city.capitalize}, #{item.address}” }%> 这会在标签字符串中生成一个转义的br,我怎样才能在两行上显示标签?

Form_For新的相关模型

所以在我的应用程序中,我有一个Person模型,其中包含了很多描述。 我现在需要在每个人的节目页面上添加一个表单,以便为该人添加新的描述。 到目前为止,我有以下表格。 但是,它没有将人员的ID传递给描述创建操作。 形成 帕拉姆斯通过 {“utf8″=>”✓”, “authenticity_token”=>”OQY8Xcfm6wtWHXp9GjFfM4ICX79smPwyvfVcaDn+C2s=”, “description”=>{“name”=>”Test”, “description”=>”This is a test”}, “commit”=>”Post”}

如何覆盖Rails has_one关联的getter方法?

我想覆盖/扩展Rails has_one关联方法,以便它始终返回关联类的实例。 (如果数据库中不存在,我想创建一个新的并将其分配给父实例。) 理想情况下,我想通过内置的Rails关联扩展机制来实现这一点。 但是,我不知道“getter”方法的名称,因此我不知道要覆盖什么。 如何覆盖关联getter,以便我可以在nil时实例化一个新对象?

Rails 3使用has_many belongs_to关联构建一个select标记

基于以下型号 class Company < ActiveRecord::Base belongs_to :country end class Country < ActiveRecord::Base has_many :companies end 我希望在我的公司/ _form中包含所有国家/地区的选择标记 我认为companies_controller#create Company.new(params[:company])中的Company.new(params[:company])可以创建公司和所选国家之间的关联 我正在运行rails 3.0.0,实现这一目标的最佳方法是什么? 感谢您的见解

当模型具有另一个模型的一个或零个实例时,可以使用has_one关联吗?

RailsGuides说: http://guides.rubyonrails.org/association_basics.html一个has_many“关联表示模型的每个实例都有零个或多个另一个模型的实例。” “has_one关联还与另一个模型建立一对一的连接,但语义(和后果)有些不同。这种关联表明模型的每个实例都包含或拥有另一个模型的一个实例。” 这是否意味着如果我想建立一个关联,模型的每个实例都有零或另一个模型的一个实例,最好的方法是使用has_many而不是has_one? 如果我使用has_one会遇到什么问题? 谢谢。

Rails – 父/子关系

我目前正在使用标准的一对一关系来处理父/子关系: class Category < ActiveRecord::Base has_one :category belongs_to :category end 是否有推荐的方法来做或者这样可以吗?

如何将一个模型两次关联到另一个模型

嗨我正在制作一个小网站,以帮助我和朋友学习语言。 典型用途: 亚当是英国人,但正在学习日语。 亚当可以通过撰写和提交用日语写的文章来练习日语。 Adam(不允许)提交用他的母语撰写的任何文章。 亚当可以阅读其他正在学习英语的用户的文章(用英语写的) 我试图思考如何模拟这个并且certificate比标准轨道更困难,许多属于我习以为常的协会。 生病需要function -show all articles written in adams native language @adam.native_language.articles -show all posts written by users just like adam (ie learning the same language) @adam.foreign_language.articles -perhaps showing all posts written by language learners in one particular language @language => Japanese @langauge.posts 我需要一个用户,文章和语言模型。 但是,我如何关联语言和用户模型? 感觉语言应该与用户模型相关联两次,一次用于native_language,一次用于foreign_language。

Rails:为什么“has_many …,:through => …”关联导致“NameError:uninitialized constant …”

为了表示一个组可以有多个用户,并且一个用户可以属于多个组,我设置了以下关联: class Group :users_groups end class User :users_groups end class UsersGroups < ActiveRecord::Base belongs_to :user belongs_to :group end 但是,当我键入: Group.find(1).users 我明白了: NameError: uninitialized constant Group::UsersGroup 我究竟做错了什么 ?

强制执行has_many但只有一个当前关联的“轨道方式”是什么?

我有一个简单的rails应用程序,包含模型项目和阶段。 一个项目有很多阶段,但只有阶段可以一次激活(即“当前”)。 我仍然希望其他阶段可以访问,但当前阶段应该是应用程序的主要锚点。 关于如何实现此要求的决定对我如何处理模型访问,validation和视图/表单以进行创建更新具有重要意义。 所以问题是:如何在不增加太多复杂性的情况下实现这个“has_many但只有一个当前的关联”? 主要目标是:简化当前阶段的访问+确保一次不能超过1个活动阶段。 当然,我自己也有一些想法,想出了三个选项,我想在这里提出。 任何关于为什么我应该选择一个选项而不是另一个选项(或建议更简单的解决方案)的反馈将不胜感激: 第一选择: [Project] has_many :phases [Project] has_one :current_phase, :class_name => “Phase”, :conditions => { :current => true } 缺点:我有一个用于创建项目和相应阶段的嵌套表单。 似乎没有简单的方法可以将新创建​​的一个阶段设置为活动状态 第二种选择: [Project] has an attribute “current_phase_id” [Project] has_many :phases [Project] belongs_to phase, :foreign_key => “current_phase_id” 缺点:与选项1相同,但我有另一个属性和belongs_to关联,这看起来很奇怪(为什么一个项目属于它的一个阶段?) 第三种选择: [Phase] has an attribute “active” (boolean) [Phase] scope :active, :conditions => […]

什么inverse_of在mongoid中意味着什么?

inverse_of在mongoid关联中的含义是什么? 我可以通过使用它而不仅仅是没有它的关联来获得什么?