แผงผู้ดูแลระบบที่ใช้โค้ดต่ำและกลไก Business Intelligence Rails (ไม่สามารถกำหนดค่า DSL จาก UI ได้)
- แอพสาธิต | - ภาพรวมคุณสมบัติ | โปร
เพิ่มบรรทัดนี้ลงใน Gemfile ของแอปพลิเคชันของคุณ:
gem 'motor-admin'
แล้วดำเนินการ:
$ bundle install
สร้างและดำเนินการย้ายข้อมูล:
$ rails motor:install && rake db:migrate
ทุกอย่างในแผงผู้ดูแลระบบสามารถกำหนดค่าได้โดยใช้ UI การตั้งค่าที่ใช้งานง่าย ซึ่งสามารถเปิดได้ผ่านไอคอนที่มุมขวาบน
ข้อมูลที่แสดงบนหน้าทรัพยากรสามารถปรับแต่งได้อย่างสมบูรณ์ผ่านการสืบค้น SQL และแดชบอร์ดที่แนบมากับทรัพยากรในรูปแบบแท็บ โดยปกติแล้ว การสืบค้นที่ใช้แสดงข้อมูลทรัพยากรควรมีตัวแปร {{resource_name_id}}
เรียนรู้เพิ่มเติมเกี่ยวกับการปรับแต่งทรัพยากร
คุณสามารถเพิ่มการดำเนินการของทรัพยากรแบบกำหนดเองได้ผ่านการเรียกเมธอด Active Record, จุดสิ้นสุด API หรือแบบฟอร์มที่กำหนดเอง นอกจากนี้ ยังสามารถแทนที่การดำเนินการสร้าง/อัปเดต/ลบที่เป็นค่าเริ่มต้นได้อีกด้วย
วิธีการหรือแอตทริบิวต์ของโมเดล ActiveRecord ใดๆ สามารถเปิดเผยต่อแผงผู้ดูแลระบบได้โดยการเพิ่มคอลัมน์ใหม่ด้วยชื่อที่ตรงกับชื่อวิธีการจากโมเดลทรัพยากร:
class Customer < ApplicationRecord
has_many :orders
def lifetime_value
orders . sum ( & :total_price )
end
end
ค่าจากช่องแบบฟอร์มสามารถใช้ได้ในเส้นทาง API ผ่านไวยากรณ์ {field_name}
: /api/some-endpoint/{resource_id}/apply
เรียนรู้เพิ่มเติมเกี่ยวกับตัวสร้างแบบฟอร์มแบบกำหนดเอง
ข้อความค้นหาสามารถรวมตัวแปรที่ฝังไว้ผ่านไวยากรณ์ {{variable}}
(หนวด) ไวยากรณ์ {{#variable}} ... {{/variable}}
ช่วยให้ตัดสินใจได้ว่าควรรวมเงื่อนไขภายในขอบเขตในการสืบค้นหรือไม่
ข้อมูลจากการสืบค้น SQL สามารถแสดงเป็น: ตาราง, ตัวเลข, แผนภูมิเส้น, แผนภูมิแท่ง, แผนภูมิวงกลม, ช่องทาง, มาร์กดาวน์
แบบสอบถาม SQL สามารถจัดเป็นแดชบอร์ดเพื่อสร้างการแสดงข้อมูลที่สะดวก
ข้อมูลแบบสอบถามสามารถส่งทางอีเมลเป็นระยะโดยใช้คุณสมบัติการแจ้งเตือน คุณสามารถระบุช่วงเวลาของอีเมลแจ้งเตือนได้โดยใช้ภาษาธรรมชาติ เช่น every day at midnight
every Monday at 8 PM
every weekday at 6AM and 6PM
. every minute
ที่อยู่ผู้ส่งสามารถระบุได้โดยใช้ตัวแปรสภาพแวดล้อม MOTOR_ALERTS_FROM_ADDRESS
สามารถเปิดการค้นหาอัจฉริยะได้โดยใช้ปุ่มมุมขวาบนหรือใช้ทางลัด Cmd + K
ผู้ดูแลระบบมอเตอร์อนุญาตให้ตั้งค่าการอนุญาตระดับแถวและระดับคอลัมน์ผ่าน cancan gem ควรกำหนดสิทธิ์ผู้ดูแลระบบ UI ในไฟล์ app/models/motor/ability.rb
ในคลาส Motor::Ability
ดูคู่มือผู้ดูแลระบบมอเตอร์และเอกสาร CanCan เพื่อเรียนรู้วิธีกำหนดสิทธิ์ของผู้ใช้
Motor Admin ได้รับการกำหนดค่าตามค่าเริ่มต้นเพื่อทำการอัปโหลดไปยังผู้ให้บริการที่คุณกำหนดค่าไว้ในไฟล์ storage.yml
สำหรับ Active Storage หากคุณใช้การอัปโหลดขนาดใหญ่ภายใน Motor Admin คุณจะต้องเปิดใช้งานการอัปโหลดโดยตรงโดยตั้งค่าตัวแปร ENV ต่อไปนี้
MOTOR_ACTIVE_STORAGE_DIRECT_UPLOADS_ENABLED=true
หมายเหตุ: ในขณะนี้ การดำเนินการนี้จะเปิดใช้งานการอัปโหลดโดยตรงทั่วโลก
ผู้ดูแลระบบมอเตอร์สามารถใช้คีย์ Rails ActiveRecord i18n เพื่อแสดงการแปลทรัพยากร:
es :
activerecord :
models :
customer :
one : Cliente
other : Clientes
attributes :
customer :
name : Nombre
scopes :
customer :
enabled : Activado
การกำหนดค่าแผงผู้ดูแลระบบทั้งหมดจะถูกจัดเก็บไว้ในไฟล์ config/motor.yml
โดยอัตโนมัติ ขอแนะนำให้รวมไฟล์นี้ไว้ในที่เก็บ git ของแอปพลิเคชันเพื่อให้การกำหนดค่าแผงผู้ดูแลระบบซิงค์กันเสมอในสภาพแวดล้อมภายในและระยะไกลที่แตกต่างกัน
เป็นไปได้ที่จะซิงค์การกำหนดค่าแผงผู้ดูแลระบบการพัฒนาท้องถิ่นกับแอปพลิเคชันการผลิตระยะไกลผ่านงาน rake motor:sync
:
MOTOR_SYNC_REMOTE_URL=https://remote-app-url/ MOTOR_SYNC_API_KEY=secure-random-string rake motor:sync
แผงผู้ดูแลระบบสามารถรักษาความปลอดภัยได้ด้วย 'การตรวจสอบสิทธิ์ขั้นพื้นฐาน' โดยการระบุตัวแปรสภาพแวดล้อม MOTOR_AUTH_USERNAME
และ MOTOR_AUTH_PASSWORD
อีกทางหนึ่งสามารถรักษาความปลอดภัยด้วยอุปกรณ์หรือไลบรารีการตรวจสอบสิทธิ์อื่น ๆ ที่ใช้โดยแอปพลิเคชัน:
authenticate :admin_user do
mount Motor :: Admin => '/admin'
end
เริ่มเซิร์ฟเวอร์ webpack dev:
yarn install && yarn serve
ตั้งค่าฐานข้อมูลการพัฒนา:
rake app:db:create && rake app:db:setup
เริ่มแอปพลิเคชันตัวอย่างในโหมดการพัฒนา:
MOTOR_DEVELOPMENT=true rails s
Motor Admin ได้รับอนุญาตภายใต้ใบอนุญาต MIT