簡體   English   中英

如何在Rails中向活動記錄對象添加標志

[英]How to add flag to active record object in rails

假設我有一個這樣的對象

@contacts = Contact.first(5)

聯系人表有4列,名稱,ID,created_at,updated_at

現在,我想為每個對象添加一個標記,用於像這樣的聯系人的姓名和ID

@contacts.each do |contact| 
  contact.add(name_flag) = true  if {my condition here}
end

在視圖中,我想根據標志輸出聯系人

 <% @contacts.each do |contact| %>
    <%=  contact.['name'] if contact.[name_flag'] %>
    <% end %>

在控制器中:

con = Contact.first(5)
@contacts = []
con.each do |contact| 
  if my_condition_here
   contact['name_flag'] = true
  end 
  @contacts << contact
end

鑒於:-

<% @contacts.each do |contact| %>
   <%=  contact.name if contact['name_flag']  %>
<% end %>

只要您的條件不太復雜,將其真正放入您的視圖就沒有問題:

<% @contacts.each do |contact| %>
  <%= contact.name if {your condition here} %>
<% end %>

編輯:

如果要將此條件移至模型中,則只需在Contact模型中定義一個方法:

def name_flag
  {your condition here}
end

然后可以在視圖中調用此方法:

<% @contacts.each do |contact| %>
  <%= contact.name if contact.name_flag %>
<% end %>

暫無
暫無

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

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