Wenn zum Beispiel habe ich diese Linie ein Modell zu generieren:Versalien- variable Umfang in Rails
bin/rails generate model Item Collection:references
Dann wird es diese Art der Migration mit der Großreferenzgröße erzeugen:
class CreateItems < ActiveRecord::Migration
def change
create_table :items do |t|
t.references :Collection, index: true
t.timestamps
end
end
end
Und das generiert ein Collection_id-Feld in der Tabelle mit dem Großbuchstaben.
Das Problem ist, ich jetzt möchte ein Scope hinzuzufügen, zu filtern, Artikel von objektgruppen von der Steuerung:
Also habe ich diesen Bereich in das Modell der Artikel scope :collection_id, -> (Collection_id) { where collection_id: Collection_id }
Aber wenn ich nenne es in der Controller mit: @items = Item.collection_id (@ user.Collection_id)
Es stürzt mit:
formales Argument kann kein Konstante Umfang sein: objektgruppen, -> (objektgruppen) {wobei objekt: Gruppe objekt}^
I im Umfang las die Variablen nicht ein Groß variabel sein können, aber da die Migration schafft sie durch Standard so weiß ich nicht, ob das beabsichtigt ist oder ich mache es falsch.
Es wäre besser, eine Erklärung über die Verwendung von Ruby-Konstante als Scope-Argument zu dieser Antwort hinzuzufügen. – Ilya
@Ilya das ist in Ordnung? –
sicher, danke für update!) – Ilya