【问题标题】:Creating has_many association with ancestry gem与祖先 gem 创建 has_many 关联
【发布时间】:2014-07-16 18:07:33
【问题描述】:

我安装了祖先 gem 并创建了位置结构。

  • 阿拉斯加
  • 加利福尼亚
    • 洛杉矶
    • 弗雷斯诺
    • Cincotta(弗雷斯诺)
    • 哈蒙德(弗雷斯诺)
      • 梅尔文(弗雷斯诺)
        • 梅尔文 1
        • 梅尔文 2
        • 梅尔文 3
  • 亚利桑那州
  • 科罗拉多

我的帖子和位置模型

class Location < ActiveRecord::Base
 include Tree
 has_many :posts
end

class Post < ActiveRecord::Base
  belongs_to :location
end

当我添加新帖子时,如何仅将深度 4 级别(Melvin 1,Melvin 2,Melvin 3)显示为下拉。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-4 ruby-on-rails-3.2 ancestry


    【解决方案1】:

    您必须启用cache depth 才能使用at_depth

    Location.all.at_depth(4)
    

    这可以用来渲染select输入元素:

    <%= select :location_id, Location.all.at_depth(4) { |l| [ l.name, l.id ] } %>
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-18
    • 1970-01-01
    • 1970-01-01
    • 2014-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多