Tid är pengar, särskilt när det kommer till affärer, vikten av tid kan aldrig betonas nog. Det är naturligt för affärsmän att ha samhörighet med saker som sparar tid. Bara detta skäl är den största katalysatorn i den enorma populariteten för Ruby on Rails. Ett av de mest produktiva sätten att bygga webbapplikationer, efterfrågan på Rails för webbapplikationer fortsätter i snabb takt. Det som gör Ruby on Rails mer fantastisk är listan över pärlor som följer med den. Ruby ädelstenar är den kategoriserade listan över återanvändbara koder som hjälper utvecklare att bygga applikationer ännu snabbare. CanCan är en sådan Ruby pärla som är ett auktoriseringsbibliotek som begränsar de resurser som specifika användare får åtkomst till. Med behörigheter definierade på en enda plats (klassen Ability) kontrollerar CanCan gem om en användare eller en resurs har behörighet att komma åt filen eller inte. Det säkerställer också att det inte finns någon duplicering mellan kontroller, vyer och databasfrågor.
Integrera CanCan och definiera förmågor
> Lägg till ädelsten "cancan" till din ädelstensfil. Och kör buntinstallation för att installera ädelstenen
Skapa förmågor
> Generera nu filen ability.rb där vi kan ange behörighet för alla användare. rails g cancan:ability > Öppna den genererade .rb-filen och definiera förmågor klass Ability include CanCan::Ability def initialize( user ) user ||= User.new can :manage , Article cannot :manage , Comment can :read , Tag , släppt: sant slutslutKontrollera förmågor Funktionen "Kan och kan inte" används för att kontrollera användarens behörighet. Kan kontrollerar om användaren har behörighet att komma åt filen och kan inte arbeta på omvänt sätt. Vi kan definiera dem i Controller eller View Ex: (For Can)
<%= link_to “New User” , new_user_path om kan? :skapa, Användare %>Ex: (För Kan inte)
<% if cannot? :destroy , @user %> <span class="”permission-message”">Du får inte ta bort den här användaren.</span> <% end %>Ladda och auktorisera resurs load_and_authorize_resource använder för 1. Ladda modellen automatiskt 2. Auktorisera den begärda åtgärden Ex:
klass UsersController <ApplicationController load_and_authorize_resource endHantering av auktoriseringsfel load_and_authorize_resource som använder tidsauktorisering misslyckades då undantaget höjs och skickar felvarningen genom rescue_form Ex:
class ApplicationController < ActionController::Base rescue_form CanCan::AccessDenied do |exception| redirect_to root_url, alert: exception.message end endNåväl, nu vet du om CanCan, vad den gör och hur man konfigurerar den. Gå och måla staden röd! När det gäller att bygga appar är Ruby on Rails bra på grund av dess snabbare säljbarhet. Om du letar efter ett apputvecklingsföretag är RailsCarma ett utmärkt val. Railscarma har implementerat Ruby on Rails från dess begynnande stadier för utveckling, utbildning, distribution och bidrag tillbaka till Rails Community och tillhandahåller de bästa Ruby on Rails-utvecklingstjänsterna. RailsCarma tillhandahåller Ruby on Rails-tjänster, inklusive konsulttjänster, arkitektur, byggnad, förvaltning och utbyggnad, till företag över hela världen. Du kan också hyra Ruby on Rails utvecklare med en lättanställd process. Kontakta oss för att veta mer.
Prenumerera för de senaste uppdateringarna
relaterade inlägg