class CreateCrews < ActiveRecord::Migration
def self.up
create_table :crews do |t|
t.string :title
t.text :description
t.boolean :adult
t.boolean :private
t.integer :gender_id
t.boolean :approved, :default => false
t.timestamps
end
end
def self.down
drop_table :crews
end
end
class Crew < ActiveRecord::Base
has_many :users, :through => :crew_users
belongs_to :user
default_scope where(:approved => true)
end
Kiedy idę do konsoli i utworzyć nowy rekord, „Solidny” właściwość jest ustawiona na wartość true, to dlaczego?rails3 default_scope i domyślną wartość kolumny w migracji
Jak mogę ustawić go automatycznie na wartość domyślną (fałsz), jak pokazano w moim pliku migracji?
[email protected]:~/work/ze$ rails console Loading development environment (Rails 3.0.0) ruby-1.9.2-p0 > c = Crew.new
=> #<Crew id: nil, title: nil, description: nil, adult: nil, private: nil, gender_id: nil, approved: true, created_at: nil, updated_at: nil, logo_file_name: nil, logo_content_type: nil, logo_file_size: nil, logo_updated_at: nil>
+1. Ta dokumentacja jest w rzeczywistości nieobecna w starszych wersjach dokumentacji API. Musiałem początkowo zagłębić się w źródło, aby dowiedzieć się, dlaczego tak się dzieje. (Oznacza to, że musimy wnosić więcej do "docrails" (https://github.com/lifo/docrails) – Swanand
Uważam, że ta "funkcja" jest bardzo denerwująca. To znaczy, to, czego chcę szukać, jest zupełnie niezwiązane z tym, czego chcę do stworzenia. – Zequez