簡體   English   中英

Rails 4如何顯示belongs_to記錄在列表中

[英]Rails 4 How to display belongs_to record in a list

所以請忍受我:)

group.rb

class Group < ActiveRecord::Base
  has_many :categories, dependent: :destroy

  validates :name, :presence => true, :uniqueness => { :case_sensitive => false }
  validates :content, :presence => true
end

category.rb

class Category < ActiveRecord::Base
  belongs_to :group
  validates :name, :presence => true, :uniqueness => { :case_sensitive => false }
  validates :content, :presence => true
  validates :group_id, :presence => true
end

應用程序/視圖/類別/ index.html.erb

<% @categories.each do |category| %>
  <tr>
    <td><%= category.id %></td>
    <td>
      <%= link_to category.name, admin_category_path(category) %>
    </td>
    <td><%= ***[GROUP WHERE CURRENT CATEGORY BELONGS TO]*** %></td>
    <td>
      <%= link_to admin_category_path(category), class: "btn btn-info btn-xs" do %>
        <i class="fa fa-search"></i>
      <% end %>
      <%= link_to edit_admin_category_path(category), class: "btn btn-primary btn-xs" do %>
        <i class="fa fa-pencil"></i>
      <% end %>
      <%= link_to admin_category_path(category), method: :delete, data: { confirm: 'Are you sure?' }, class: "btn btn-danger btn-xs" do %>
        <i class="fa fa-trash-o"></i>
      <% end %>
    </td>
  </tr>
<% end %>

我的問題是:如何顯示屬於這個類別的群組?

很簡單,只需編寫:

<td><%= category.group %></td>

要么

<td><%= category.group.name %></td>

一個好主意是為您的類定義函數“ to_s”。 例如

group.rb

class Group < ActiveRecord::Base
  def to_s
    name
  end

這樣,Rails在打印組時將自動輸出組的名稱,這意味着

<td><%= category.group %></td>

<td><%= category.group.name %></td>

將輸出相同的信息。

使用<%= category.group.name %>可以顯示一個屬於這個類別的組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM