bundle add faker # Add it to only the development and test groups, if you are a stickler for convention # In db/seeds.rb 50.times do MyModel.create! name: Faker::Name.name end rails db:migrate && rails db:seed
rails g scaffold MyModel field1:string
Data Types:
Example for references:
rails g scaffold Country name:string rails g scaffold City name:string country:references
To create multiple references to another model (for different attribute fields):
# The other model
rails g Country name
# In the scaffold command
rails g scaffold Staff residing_country:references
# In the migration
t.references :residing_country, null: false, foreign_key: { to_table: :countries }
# In the model
belongs_to :residing_country, class_name: 'Country', foreign_key: 'residing_country_id'
rm storage/development.sqlite db/schema.rb rails db:drop db:create db:migrate
Turbo frames are for partial view updates. When the view is being rendered, return content within the turbo frame tag with the same identifier. domid(model_object) can be used to generate an identifier.
# In home/index view <%= turbo_frame_tag "str_1" do %> This is a thing <%= link_to 'Action', controller: 'home', action: 'info' <% end %> # In home/info view <%= turbo_frame_tag "str_1" do %> This is another thing <%= link_to 'Action', controller: 'home', action: 'index' <% end %>
# In the view <%= turbo_stream_from "src_1" %> <div id="divvy_1"></div> # In a controller Turbo::StreamsChannel.broadcast_update_to( 'src_1', target: 'divvy_1', content: DateTime.now # html: render ... )