Vra

Ek wil graag 'n vinnige en vuil administratiewe agterkant bou vir 'n Ruby on Rails-toepassing waaraan ek op die laaste oomblik geheg is.Ek het na activescaffold en vaartbelyn gekyk en dink hulle is albei baie aantreklik en hulle behoort maklik aan die gang te wees, maar ek verstaan ​​nie mooi hoe om een ​​van die twee as 'n backend-administrasiebladsy op te stel nie.Dit lyk asof hulle ontwerp is om te werk soos standaard Ruby on Rails kragopwekkers / steierwerk vir die skep van sigbare voorkante met model-aansig-beheerder-tabel naam korrespondensie.

Hoe skep jy 'n admin_players-koppelvlak wanneer spelers reeds in gebruik is en jy wil vermy, soveel as moontlik, om enige van sy verwante lêers te beïnvloed?

Die vertoning, wysiging en indeks van die oorspronklike hulpbron is nie bruikbaar vir die administrateur nie.

Was dit nuttig?

Oplossing

Ek dink naamruimtes is die oplossing vir die probleem wat jy hier het:

map.namespace :admin do |admin|
    admin.resources :customers
end

Wat roetes sal skep admin_customers, new_admin_customers, ens.

Toe binne die app/controller gids kan jy 'n admin gids.Skep 'n administrateurbeheerder binne jou administrasiegids:

./script/generate rspec_controller admin/admin

class Admin::AdminController < ApplicationController

  layout "admin"
  before_filter :login_required
end

Skep dan 'n admin-kliëntebeheerder:

./script/generate rspec_controller admin/customers

En maak dit inherent van jou ApplicationController:

class Admin::CustomersController < Admin::AdminController

Dit sal kyk vir aansigte in app/views/admin/customersen sal 'n uitleg in verwag app/views/layouts/admin.html.erb.

Jy kan dan watter inprop of kode jy wil gebruik om werklik jou administrasie, vaartbelyn, ActiveScaffold te doen, wat ek persoonlik wil gebruik resourcecs_controller, aangesien dit jou baie tyd bespaar as jy 'n RUS stylargitektuur, en om jouself op daardie roete af te dwing, kan baie tyd elders bespaar.Maar as jy die toepassing geërf het, is dit nou 'n betwiste punt.

Ander wenke

Kyk gerus na active_admin by https://github.com/gregbell/active_admin.

Ek het Streamline redelik baie gebruik.

Om Streamline te laat werk, skep jy jou eie beheerders - sodat jy dit eintlik heeltemal los van die res van jou toepassing kan laat loop, en jy kan dit selfs in 'n aparte 'admin'-lêergids en naamruimte laat loop wat beveilig kan word met .

Hier is die kliëntebeheerder van 'n onlangse toepassing:

class CustomersController < ApplicationController
  layout 'streamlined'
  acts_as_streamlined       

  Streamlined.ui_for(Customer) do
    exporters :csv   
    new_submit_button :ajax => false 
    default_order_options :order => "created_at desc"   
    list_columns :name, :email, :mobile, :comments, :action_required_yes_no  
  end
end
Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top