2016-03-24 18 views
1

Ich versuche herauszufinden, wie Bereiche in Schienen 4 geschrieben werden.Schienen 4 - Scopes

Ich habe ein Projektmodell. Ich benutze Staatsmann für Staaten und habe einen Staat namens: veröffentlichen.

In meinem Projektmodell möchte ich einen Bereich schreiben, der alle Projekte im Status veröffentlicht.

Ich versuche:

scope :published, ->{ where(projects.state_machine.in_state?(:publish)) } 
scope :published, ->{ where(project.state_machine.in_state?(:publish)) } 

Ich verstehe nicht, wie Bereiche zu schreiben. Die Schienenführungen verwirren mich. Kann jemand sehen, was ich falsch gemacht habe?

+0

u könnte etwas mehr Code des Modells zur Verfügung stellen? Wie gehst du Statesman Juwel? Wie lautet der Name der Spalte, die Sie für den Statusspeicher verwenden? – twonegatives

+0

Klasse Projekt Mel

+0

das ist immer noch nicht genug. Bist du sicher, dass du deinen eigenen Umfang schreiben willst? Statesman bietet einige integrierte Bereiche, um Elemente in einem ausgelieferten Zustand zu erhalten, würde es Ihren Anforderungen entsprechen? – twonegatives

Antwort

0

Vielleicht so etwas wie diese:

class Project 

    scope :published, -> { where(state: :publish) 
+0

Nein - das und alle Variationen (current_state, in_state? funktionieren auch nicht. Danke trotzdem – Mel