646 Stimmen

Wie man Bedenken in Rails 4 verwendet

Der Standard Rails 4 Projektgenerator erstellt nun das Verzeichnis "concerns" unter controllers und models. Ich habe einige Erklärungen darüber gefunden, wie man Routing-Belange verwendet, aber nichts über Controller oder Modelle.

Ich bin mir ziemlich sicher, dass es mit dem aktuellen "DCI-Trend" in der Gemeinschaft zu tun hat und würde es gerne ausprobieren.

Die Frage ist, wie soll ich diese Funktion verwenden, gibt es eine Konvention, wie die Benennung / Klassenhierarchie zu definieren, damit es funktioniert? Wie kann ich ein Anliegen in ein Modell oder einen Controller aufnehmen?

7voto

Sajjad Murtaza Punkte 1306

In betrifft make file filename.rb

Zum Beispiel möchte ich in meiner Anwendung, wo Attribut create_by existieren aktualisieren dort Wert von 1, und 0 für updated_by

module TestConcern 
  extend ActiveSupport::Concern

  def checkattributes   
    if self.has_attribute?(:created_by)
      self.update_attributes(created_by: 1)
    end
    if self.has_attribute?(:updated_by)
      self.update_attributes(updated_by: 0)
    end
  end

end

Wenn Sie in der Aktion Argumente übergeben wollen

included do
   before_action only: [:create] do
     blaablaa(options)
   end
end

danach in Ihr Modell wie folgt einfügen:

class Role < ActiveRecord::Base
  include TestConcern
end

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X