J'ai pensé que ce serait bien s'il y avait une liste de noms de clé à afficher lors de la création de l'écran de liste.
Créer un modèle
models/user.rb
class User < ApplicationRecord
include Table #Si vous l'incluez ici, vous pouvez l'utiliser comme méthode d'instance
attribute :name
attribute :email
attribute :login_id
attribute :password
end
models/concerns/table.rb
module Table
extend ActiveSupport::Concern
#Obtenir le nom de la colonne (symbole) sous forme de tableau
def table_keys
self.class.column_names.map(&:to_sym).reject { |column| %i[id created_at updated_at].include?(column) }
#Cliquez ici si vous souhaitez l'obtenir sous forme de chaîne de caractères
# self.class.column_names.reject { |column| %w[id created_at updated_at].include?(column) }
end
#Obtenir le nom de la colonne
def col_name(column_name)
self.class.human_attribute_name(column_name)
end
end
from
@ useretc. avec
self.class`nom_colonne.map (&: to_sym)
et convertissez-la en symbolereject { |column| %w[id created_at updated_at].include?(column) }
Exclure les noms de colonnes inutiles dansruby:views/users/index.html.slim
- if @users.present?
table.table
thead
tr
- first_user = @users.first
- first_user.table_keys.each do |key|
= tag.td first_user.col_name(key)
tbody
- @users.each do |user|
tr
- user.table_keys.each do |key|
= tag.td {|tag| tag.span user.send(key)}
- else
p Aucune donnée
Ce type d'écran est souvent utilisé pour devise et active_admin, mais il semble qu'il puisse également être utilisé lors du passage de la clé de validation au recto.
Si vous avez des conseils, n'hésitez pas à nous contacter.
Recommended Posts