继承资源父助手 - Rails

时间:2015-09-02 19:24:31

标签: ruby-on-rails ruby-on-rails-4 inherited-resources

在inherited_resources gem的README中,它说下面的关联允许使用帮助器,例如parent #=> @task

class CommentsController < InheritedResources::Base
  belongs_to :project {
      belongs_to :file, :message, :task, :polymorphic => true
    }
end

没有解释的是帮助者本身。我们知道这是什么样的,它是如何工作的?这真的有助于我的理解。

干杯

1 个答案:

答案 0 :(得分:0)

此宝石看起来在此时已被弃用,但是:

README所说的是项目可以是// models.language.js var Language = DS.Model.extend({ title: DS.attr('string'), providers: DS.hasMany('provider') }); // models/provider.js var Provider = DS.Model.extend({ title: DS.attr('string'), region: DS.belongsTo('region', { async: true }), languages: DS.hasMany('language', {async: true}) }); // In this region-component.js I have the model title, // and then an each block listing all providers // When the language filter changes, I need it to filter down // just to those providers who have the language association. providers: function() { return this.get('model').get('providers').filterBy('languages', this.get('language')); }.property('model') :file:message的父级。此外,任何人都可以成为拥有:task的父母。

如果这可能有用,您可以调用:comment上的任何帮助者来获取有关其父级的信息。例如,您可以编写一个条件语句,以不同的方式处理:comment,具体取决于它的父对象是:file还是:task。这是一个随机的例子:

:comment