備考属性の列にレコードが存在しない場合、メソッドで備考などのテーブルヘッダを非表示にするにはどうすればよいですか?備考欄にレコードが存在しない場合はテーブルヘッダを非表示 - レール
index.html.erb:
<table>
<% has_remark = collection_has_remark?(@aslani361s) %>
<thead>
<tr class="tr-head">
<td>Date</td>
<td>Description</td>
<td>Amount</td>
<td>Discount</td>
<td>Paid</td>
<td>Balance</td>
<td>DelnDel</td>
<% if has_remark %>
<td>Remark</td>
<% end %>
<td>Hide</td>
</tr>
</thead>
</table>
_aslani361.html.erb:
<% if aslani361.remark.present? -%>
<td class="col-1"><%= aslani361.remark %></td>
<% end %>
がaslani361s_helper.rb:
module Aslani361sHelper
def collection_has_remark?(collection)
collection.each do |aslani361|
if aslani361.remark.present?
return true
end
end
end
end
問題があります私は備考テーブルのヘッダーを隠すことができませんが、私はレコードを非表示にすることができます。
ご提案は大歓迎です。
ありがとうございます。
私はなぜあなたは 'header'を隠そうとしていることを確認していません。いくつかのレコードに「発言」があり、そうでないものが一般的な場合はどうでしょうか。だから、たとえあなたが私の意見で記録を残していなくても、ヘッダーをそこに置いておいてください。 UXの将来を考えてみると、そのヘッダーを隠すと「remark」列が存在するまで、「remark」列が存在することは決してわかりません。 – Abhinay
返事をありがとう。私はあなたのポイントを理解しています。将来、私が他の何かのために同じことをする必要があれば、それは私にもっと役立つでしょう。 –
ねえ、私はあなたがすべてのレコードの発言の有無をチェックして、それがない場合はヘッダーを削除すると言うことができると思います。すでに試してみましたが、あなたの状態に問題がある場合は、すべてのチェックで 'true'を返す代わりに、' true'に設定して、何らかのレコード上に発言があると分かります。 – Abhinay