将所有模型关联在Rails上的ruby中

玛丽·史密斯

我是红宝石的新手,我将创建在线租金系统。

这是位置基准模型

app/models/state.rb
Class State < ActiveRecord::Base
has_many :provinces
end

app/models/province.rb
Class Province < ActiveRecord::Base
belongs_to :state
has_many :districts
end

app/models/district.rb
Class District < ActiveRecord::Base
belongs_to :province
has_many :cities
end

app/models/city.rb
Class City < ActiveRecord::Base
belongs_to :district
end

第一个问题是如何显示如下所示的所有内容

  • 阿拉斯加州
  • 加利福尼亚州
    • 天使
    • 弗雷斯诺
      • 辛科塔(弗雷斯诺)
      • 哈蒙德(弗雷斯诺)
      • 梅尔文(弗雷斯诺)
        • 梅尔文1
        • 梅尔文2
  • 亚利桑那
  • 科罗拉多州

第二个问题是,如何创建面包屑所有模型

加利福尼亚州>>弗雷斯诺>>梅尔文>>梅尔文1

米兰·科普克(Milan Koepke)

您可能希望将层次结构引入数据对象。这可以通过两种方法来完成。看看祖先的宝石

如果您想对代码进行硬编码:

# locations_controller.rb
def index
  @locations = State.all
end

# app/views/locations/index.html.erb
<ul>
  <%= render @locations %>
</ul>

# app/views/locations/_state.html.erb
<li>
  <%= state.name %>
  <% if state.provinces.present? %>
    <ul>
      <%= render state.provinces %>
    </ul>
  <% end %>
</li>

# app/views/locations/_province.html.erb
<li>
  <%= province.name %>
  <% if province.districts.present? %>
    <ul>
      <%= render province.districts %>
    </ul>
  <% end %>
</li>

# app/views/locations/_district.html.erb
<li>
  <%= district.name %>
  <% if district.cities.present? %>
    <ul>
      <%= render district.cities %>
    </ul>
  <% end %>
</li>   

# app/views/locations/_city.html.erb
<li>
  <%= city.name %>
</li>  

对于面包屑,您需要在每个模型中引入祖先方法。例如

class City
  ...
  def ancestry
    district.ancestry << self
  end
  ...
end

# ... other classes

class State
  ...
  def ancestry
    [self]
  end
end

然后可以将面包屑部分渲染

# app/views/layout.html.erb
<%= render partial: 'shared/breadcrumbs', locals: { ancestry: @some_instance.
def breadcrumbs(ancestry)
  ancestry
end

# app/views/shared/_breadcrumbs.html.erb
<ul>
  <% ancestry.each do |location| %>
    <li>
      <%= link_to location.name, url_for(location) %>
    </li>
  <% end %>
</ul>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

获得所有has_many关联在rails中

来自分类Dev

模型关联在Rails中调用

来自分类Dev

Rails多态关联在模型中不可用

来自分类Dev

如何通过Ruby on Rails上ActiveRecords上的关联在has_many:上处理数据?

来自分类Dev

重新关联Rails中的所有相关模型

来自分类Dev

如何更新 Rails 中的所有关联模型?

来自分类Dev

使用 ruby on rails 过滤模型上的所有搜索

来自分类Dev

Ruby on Rails模型关联

来自分类Dev

我将Ruby on Rails模型的AWS URL包含在关联模型的GET请求中时,

来自分类Dev

获取Rails中模型类型的所有记录的所有关联数据?

来自分类Dev

基于ruby on rails中关联模型属性的模型排序记录

来自分类Dev

模型具有所有关联的Rails

来自分类Dev

模型具有所有关联的Rails

来自分类Dev

阻止关联在Rails 5中进行验证

来自分类Dev

具有相同模型的Ruby on Rails 4的多态关联

来自分类Dev

Ruby on Rails具有相同模型的多个关联

来自分类Dev

具有相同模型的Ruby on Rails 4的多态关联

来自分类Dev

在Ruby on Rails Admin上按ID将记录与相同模型的其他记录相关联

来自分类Dev

在Ruby on Rails Admin上按ID将记录与相同模型的其他记录相关联

来自分类Dev

Rails中同一模型上的多个多态关联

来自分类Dev

在Rails 4+中将两个模型关联在一起

来自分类Dev

根据配置文件字段将三个模型关联在一起

来自分类Dev

验证Rails中的关联模型

来自分类Dev

如何在Rails上的ruby中从带有friendly_id的URL中删除模型名称

来自分类Dev

从关联的模型(表)中查找具有至少一个关联的所有记录

来自分类Dev

使用关联模型的Ruby on Rails项目

来自分类Dev

Ruby on Rails:Activerecord集合关联的模型

来自分类Dev

使用关联模型的Ruby on Rails项目

来自分类Dev

Ruby on Rails-与模型的多对多关联

Related 相关文章

  1. 1

    获得所有has_many关联在rails中

  2. 2

    模型关联在Rails中调用

  3. 3

    Rails多态关联在模型中不可用

  4. 4

    如何通过Ruby on Rails上ActiveRecords上的关联在has_many:上处理数据?

  5. 5

    重新关联Rails中的所有相关模型

  6. 6

    如何更新 Rails 中的所有关联模型?

  7. 7

    使用 ruby on rails 过滤模型上的所有搜索

  8. 8

    Ruby on Rails模型关联

  9. 9

    我将Ruby on Rails模型的AWS URL包含在关联模型的GET请求中时,

  10. 10

    获取Rails中模型类型的所有记录的所有关联数据?

  11. 11

    基于ruby on rails中关联模型属性的模型排序记录

  12. 12

    模型具有所有关联的Rails

  13. 13

    模型具有所有关联的Rails

  14. 14

    阻止关联在Rails 5中进行验证

  15. 15

    具有相同模型的Ruby on Rails 4的多态关联

  16. 16

    Ruby on Rails具有相同模型的多个关联

  17. 17

    具有相同模型的Ruby on Rails 4的多态关联

  18. 18

    在Ruby on Rails Admin上按ID将记录与相同模型的其他记录相关联

  19. 19

    在Ruby on Rails Admin上按ID将记录与相同模型的其他记录相关联

  20. 20

    Rails中同一模型上的多个多态关联

  21. 21

    在Rails 4+中将两个模型关联在一起

  22. 22

    根据配置文件字段将三个模型关联在一起

  23. 23

    验证Rails中的关联模型

  24. 24

    如何在Rails上的ruby中从带有friendly_id的URL中删除模型名称

  25. 25

    从关联的模型(表)中查找具有至少一个关联的所有记录

  26. 26

    使用关联模型的Ruby on Rails项目

  27. 27

    Ruby on Rails:Activerecord集合关联的模型

  28. 28

    使用关联模型的Ruby on Rails项目

  29. 29

    Ruby on Rails-与模型的多对多关联

热门标签

归档