Rails Admin изменить список/показать представление, чтобы добавить новый/настроенный столбец
Я установил rails_admin для интерфейса администратора моего сайта.
Для одной из моделей я хочу отобразить дополнительный столбец.
Скажем, у меня есть имя, телефон, адрес электронной почты, URL-адрес изображения, атрибуты ранга и т.д. в моей модели (скажем, Студент).
Затем мне нужно отобразить столбцы: Имя | Рейтинг | Предварительный просмотр (дополнительная колонка)
В столбце предварительного просмотра я хочу отобразить некоторый отображаемый html на основе атрибутов (email, image, url и т.д.) для каждого "студента".
Я нашел способ включить частичное для редактирования/обновления/создания, чтобы предоставить поля/формы в соответствии с нашими частичными. Но та же реализация включения частичного сбоя в списке/шоу отсутствует.
Итак, есть ли способ добавить частичное отображение отображаемого содержимого, в список/показать представление для модели...?
Изменить: добавлен код
config.model Utility do
list do
field :code
field :priority
field :name
field :url
field :phone
field :logo
field :content
sort_by :priority
items_per_page 100
end
end
Это показывает следующие столбцы в rails_admin
Код | Приоритет | Имя | URL | Телефон | Логотип | Содержание
что я хочу
Код | Приоритет | Предварительный просмотр
в котором в столбце предварительного просмотра я хочу показать контент рендеринга html как:
blah.html(например, например, html, здесь я хочу визуализировать таким образом, что он отображается на одной из страниц, поэтому он также доступен для просмотра администратора)
<div class="blah">
<%=util.name%> <%=util.phone%> <%=util.logo%> #usage with proper divs/tags/rendering
</div >
Ответы
Ответ 1
config.model Utility do
configure :preview do
pretty_value do
util = bindings[:object]
%{<div class="blah">
#{util.name} #{util.phone} #{util.logo}
</div >}
end
children_fields [:name, :phone, :logo] # will be used for searching/filtering, first field will be used for sorting
read_only true # won't be editable in forms (alternatively, hide it in edit section)
end
list do
field :code
field :priority
field :preview
end
show do
field :code
field :priority
field :preview
end
# other sections will show all fields
end
Аннотация:
Показать/список не использовать частичные для вывода. Последняя верхняя точка pretty_value
.
Ответ 2
Rails Admin вызывает эти "виртуальные" типы полей. Самый простой способ - создать метод на вашей модели, а затем обратиться к нему в списке /show:
class ModelName < ActiveRecord::Base
def invite_link
%{<a href="http://site.com/#{self.uid}">invite link</a>}.html_safe
end
rails_admin do
configure :invite_link do
visible false # so it not on new/edit
end
list do
field :name
field :invite_link
end
show do
field :name
field :invite_link
end
end
end
Ответ 3
class Utility < ActiveRecord::Base
def preview
name
end
end
config.model Utility do
configure :preview do
pretty_value do
util = bindings[:object]
%{<div class="blah">
#{util.name} #{util.phone} #{util.logo}
</div >}
end
children_fields [:name, :phone, :logo] # will be used for searching/filtering, first field will be used for sorting
read_only true # won't be editable in forms (alternatively, hide it in edit section)
end
list do
field :code
field :priority
field :preview
end
show do
field :code
field :priority
field :preview
end
# other sections will show all fields
end
Ответ 4
class ModelName < ActiveRecord::Base
rails_admin do
list do
field :job_title
field :required_experiance
field :salary
field :technical_skills
field :non_technical_skills
end
create do
field :job_title, :enum do
help 'Please select Job Title'
enum do
['Business Analyst', 'Trainee Business Analyst', 'Mobile/Web Developer',
'iOS Developer', 'Graphic Designer', 'System Administrator', 'Content Writer']
end
end
field :job_type do
help 'e.g. Developer, Management'
end
field :undergraduate_degree, :enum do
help 'Please select UG Degree'
enum do
[ 'BE', 'BCA', 'B.Tech','BCs', 'BSc', 'BBA', 'BA', 'BCom', 'BSL']
end
end
field :postgraduate_degree, :enum do
help 'Please select PG Degree'
enum do
[ 'ME', 'MCA', 'M.Tech', 'MCs', 'MSc', 'MBA', 'MCM', 'MMM', 'MA', 'MCom']
end
end
field :required_experiance, :enum do
help 'Please select Year'
enum do
[ 'Select Year', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10']
end
end
end
end