Tag: 模型

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’字段的用户被破坏,连接就会被破坏。 如何在不浪费太多的情况下完美无缝地完成(希望不需要迁移)? 谢谢!

是否可以在模型中使用cancan?

我有一个带状态机的模型,我想限制不同用户的不同状态/事件/转换。 如何在此模型中访问当前用户和能力?

将业务规则转移到模型中

我之前问了一个问题,引起了一些很好的回应。 这是早先的问题 在那里给出的一些建议的背面,我尝试移动以下控制器逻辑 if params[:concept][:consulted_legal] == 0 && params[:concept][:consulted_marketing] == 1 @concept.attributes = {:status => ‘Awaiting Compliance Approval’} elsif params[:concept][:consulted_marketing] == 0 && params[:concept][:consulted_legal] == 1 @concept.attributes = {:status => ‘Awaiting Marketing Approval’} elsif params[:concept][:consulted_marketing] == 0 && params[:concept][:consulted_legal] == 0 @concept.attributes = {:status => ‘Awaiting Marketing & Legal Approval’} else @concept.attributes = {:status => […]

ActiveRecord,double belongs_to

我有2个型号: Link和User如: class Link < ActiveRecord::Base belongs_to :src_user belongs_to :dst_user end class User < ActiveRecord::Base has_many :links end 架构可能看起来像: +———-+ +——+ | Link | | User | +———-+ |——+ | src_user |—->| | | dst_user |—->| | +———-+ +——+ 我的问题是: 如何编辑User模型才能执行此操作 @user.links # => [list of links] (…如果可能的话,应该查询@ user.src_users + @ users.dst_users,以及unicity。) 我们能在ActiveRecord中使用SQL吗? 非常感谢。 (注意:我在Rails […]

Rails 4 – 在没有数据库的情况下validation模型

我已经按照本教程并尽可能地为Rails 4制作它。 http://railscasts.com/episodes/219-active-model?language=en&view=asciicast class Contact include ActiveModel::Validations include ActiveModel::Conversion extend ActiveModel::Naming validates :name, :email, :phone, :comment, :presence => true def initialize(attributes = {}) attributes.each do |name, value| send(“#{name}=”, value) end end def persisted? false end private # Using a private method to encapsulate the permissible parameters is just a good pattern # since you’ll be […]

(Ruby,Rails)CRUD在单个页面上嵌套了超过4级的模型……?

尽可能多的惊人信息,它似乎往往只是我的疯狂要求。 也就是说,我正在寻找一种机制来处理单个页面上的多个嵌套模型。 现在,我已经看到所有的video和post(不是真的,但幽默我)嵌套两个模型(Railscasts等)。 但是,我需要处理嵌套4深的模型,同时使用Javascript来保持页面清洁。 基本上我有网站 – >建筑物 – >控制器 – >测量,并希望在一个页面上管理(CRUD)一个完整的网站。 我确信这是可能的 ,但我还没有看到一个相当干净的方法,我可以把它包裹起来。 如果有人有任何意见,我都是耳朵(或视情况而定)。 提前致谢。

如何塑造“特色”的概念(即,当一位艺术家在歌曲中“精选”时)

有时不止一位艺术家会在一首歌上。 例如,Jay-z的新歌“A Star is Born”以艺术家Cole为特色,因此将被列为目录中的“Jay-z(特色Cole) – 明星出生”。 我的问题是如何在我的数据库中建模。 现在它非常简单:每首歌都belongs_to :artist和每位艺术家都有很多歌has_many :songs 。 我想改变这一点,以便歌曲有很多艺术家,一个艺术家被指定为“主要” – 即,如果A,B和C都与给定的歌曲相关联而A是主要的,那首歌曲的艺术家将是显示为“A(特色B和C)”。 这就是我的想法: 歌曲: has_many :artists, :through => :performances 艺术家: has_many :songs, :through => :performances performance模型在哪里有一个primary?字段primary? ,指定给定的表演是否是歌曲的“主要”表现,意味着与该表演相关的艺术家是该歌曲的主要艺术家。 这种方法有意义吗?

导轨型号

我有一个名为test.rb的模型,当我在我的控制器中使用@ tests = Test.new时,我得到以下错误。 有人可以解决这个问题吗? “测试的未定义方法`new’:模块”

轻松更改rails中的型号名称

我将需要更改我的一个模型名称。 是否有任何东西可以替换控制器视图和测试中的原始模型名称的每个实例,或者我是否必须手动逐页完成所有操作?

如何接受以逗号分隔的列表来为模型构建标签?

由于当前应用程序的灵活性有限,我正在关闭acts_as_taggable_on。 相反,我正在从头开始构建我的标签作为他们自己的模型。 但是,我已经错过了表单的“@ model.tag_list”方法,它将分割逗号分隔的用户输入并制作单个标记。 我的“可标记”模型是一个video,我很好奇如何编写一个基本上像“tag_list”一样的方法? 例: …. 鉴于输入: “one, two, three”将构建三个标签作为@video的孩子。 @video.tags.each do |tag| puts tag.name end => one two three 编辑 我在Tag模型中非常喜欢这样,以保持forms混乱我的控制器。 也许作为自定义属性? 也许video模型更有意义? 我知道如何使自定义方法返回自定义数据,但不分配它。 一些研究指出了这种方式(尚未测试) video.rb def tag_list=value value.split(‘,’).each do |tag| self.tags.build(:name => tag).save end end