Rob Thomas

Joined

750 Experience
2 Lessons Completed
0 Questions Solved

Activity

Posted in Heroku Error - We're sorry, but something went wrong.

Hey Guys,

I deployed my app to Heroku but I am getting the "We're sorry, but something went wrong.
" so I ran heroku logs and this is what I got:

2019-11-07T18:45:20.355498+00:00 app[web.1]: I, [2019-11-07T18:45:20.355439 #4]  INFO -- : [7492e320-8744-4a1c-8b10-fac1bf495c37]   Rendered shared/pages/_pages-nav.html.erb (Duration: 0.5ms | Allocations: 173)
2019-11-07T18:45:20.356892+00:00 app[web.1]: I, [2019-11-07T18:45:20.356832 #4]  INFO -- : [7492e320-8744-4a1c-8b10-fac1bf495c37]   Rendered shared/pages/_pages-footer.html.erb (Duration: 0.4ms | Allocations: 153)
2019-11-07T18:45:20.357197+00:00 app[web.1]: I, [2019-11-07T18:45:20.356990 #4]  INFO -- : [7492e320-8744-4a1c-8b10-fac1bf495c37]   Rendered pages/index.html.erb within layouts/application (Duration: 2.2ms | Allocations: 834)
2019-11-07T18:45:20.358268+00:00 app[web.1]: I, [2019-11-07T18:45:20.358206 #4]  INFO -- : [7492e320-8744-4a1c-8b10-fac1bf495c37] Completed 500 Internal Server Error in 4ms (Allocations: 1534)
2019-11-07T18:45:20.359681+00:00 app[web.1]: F, [2019-11-07T18:45:20.359621 #4] FATAL -- : [7492e320-8744-4a1c-8b10-fac1bf495c37]
2019-11-07T18:45:20.359685+00:00 app[web.1]: [7492e320-8744-4a1c-8b10-fac1bf495c37] ActionView::Template::Error (Webpacker can't find application in /app/public/packs/manifest.json. Possible causes:
2019-11-07T18:45:20.359687+00:00 app[web.1]: 1. You want to set webpacker.yml value of compile to true for your environment
2019-11-07T18:45:20.359689+00:00 app[web.1]: unless you are using the `webpack -w` or the webpack-dev-server.
2019-11-07T18:45:20.359691+00:00 app[web.1]: 2. webpack has not yet re-run to reflect updates.
2019-11-07T18:45:20.359693+00:00 app[web.1]: 3. You have misconfigured Webpacker's config/webpacker.yml file.
2019-11-07T18:45:20.359696+00:00 app[web.1]: 4. Your webpack configuration is not creating a manifest.
2019-11-07T18:45:20.359698+00:00 app[web.1]: Your manifest contains:
2019-11-07T18:45:20.359700+00:00 app[web.1]: {
2019-11-07T18:45:20.359702+00:00 app[web.1]: }
2019-11-07T18:45:20.359704+00:00 app[web.1]: ):
2019-11-07T18:45:20.359706+00:00 app[web.1]: [7492e320-8744-4a1c-8b10-fac1bf495c37]      6:     <%= csp_meta_tag %>
2019-11-07T18:45:20.359709+00:00 app[web.1]: [7492e320-8744-4a1c-8b10-fac1bf495c37]      7:
2019-11-07T18:45:20.359711+00:00 app[web.1]: [7492e320-8744-4a1c-8b10-fac1bf495c37]      8:     <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
2019-11-07T18:45:20.359713+00:00 app[web.1]: [7492e320-8744-4a1c-8b10-fac1bf495c37]      9:     <%= stylesheet_pack_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
2019-11-07T18:45:20.359716+00:00 app[web.1]: [7492e320-8744-4a1c-8b10-fac1bf495c37]     10:     <%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>
2019-11-07T18:45:20.359718+00:00 app[web.1]: [7492e320-8744-4a1c-8b10-fac1bf495c37]     11:   </head>
2019-11-07T18:45:20.359720+00:00 app[web.1]: [7492e320-8744-4a1c-8b10-fac1bf495c37]     12:
2019-11-07T18:45:20.359722+00:00 app[web.1]: [7492e320-8744-4a1c-8b10-fac1bf495c37]
2019-11-07T18:45:20.359725+00:00 app[web.1]: [7492e320-8744-4a1c-8b10-fac1bf495c37] app/views/layouts/application.html.erb:9
2019-11-07T18:45:20.360860+00:00 heroku[router]: at=info method=GET path="/" host=secret-thicket-83846.herokuapp.com request_id=7492e320-8744-4a1c-8b10-fac1bf495c37 fwd="76.186.127.38" dyno=web.1 connect=0ms service=10ms status=500 bytes=1827 protocol=https
2019-11-07T18:49:23.000000+00:00 app[api]: Build started by user info@empuls3.com
2019-11-07T18:49:50.947351+00:00 app[api]: Deploy 1d47c257 by user info@empuls3.com
2019-11-07T18:49:51.121757+00:00 heroku[web.1]: Restarting
2019-11-07T18:49:51.158559+00:00 heroku[web.1]: State changed from up to starting
2019-11-07T18:49:50.947351+00:00 app[api]: Release v7 created by user info@empuls3.com
2019-11-07T18:49:52.658782+00:00 heroku[web.1]: Stopping all processes with SIGTERM
2019-11-07T18:49:52.683472+00:00 app[web.1]: - Gracefully stopping, waiting for requests to finish
2019-11-07T18:49:52.691000+00:00 app[web.1]: === puma shutdown: 2019-11-07 18:49:52 +0000 ===
2019-11-07T18:49:52.691010+00:00 app[web.1]: - Goodbye!
2019-11-07T18:49:52.691261+00:00 app[web.1]: Exiting
2019-11-07T18:49:52.849987+00:00 heroku[web.1]: Process exited with status 143
2019-11-07T18:49:53.000000+00:00 app[api]: Build succeeded
2019-11-07T18:49:56.704516+00:00 heroku[web.1]: Starting process with command `bin/rails server -p 3210 -e production`
2019-11-07T18:50:01.402539+00:00 app[web.1]: => Booting Puma
2019-11-07T18:50:01.402568+00:00 app[web.1]: => Rails 6.0.1 application starting in production
2019-11-07T18:50:01.402571+00:00 app[web.1]: => Run `rails server --help` for more startup options
2019-11-07T18:50:02.814579+00:00 heroku[web.1]: State changed from starting to up
2019-11-07T18:50:02.579574+00:00 app[web.1]: Puma starting in single mode...
2019-11-07T18:50:02.579617+00:00 app[web.1]: * Version 3.12.1 (ruby 2.6.3-p62), codename: Llamas in Pajamas
2019-11-07T18:50:02.579621+00:00 app[web.1]: * Min threads: 5, max threads: 5
2019-11-07T18:50:02.579623+00:00 app[web.1]: * Environment: production
2019-11-07T18:50:02.579894+00:00 app[web.1]: * Listening on tcp://0.0.0.0:3210
2019-11-07T18:50:02.580296+00:00 app[web.1]: Use Ctrl-C to stop
2019-11-07T18:50:39.000000+00:00 app[api]: Build started by user info@empuls3.com
2019-11-07T18:51:07.918657+00:00 heroku[web.1]: Restarting
2019-11-07T18:51:07.935252+00:00 heroku[web.1]: State changed from up to starting
2019-11-07T18:51:08.881532+00:00 app[web.1]: - Gracefully stopping, waiting for requests to finish
2019-11-07T18:51:08.882629+00:00 app[web.1]: === puma shutdown: 2019-11-07 18:51:08 +0000 ===
2019-11-07T18:51:08.882673+00:00 app[web.1]: - Goodbye!
2019-11-07T18:51:08.882843+00:00 app[web.1]: Exiting
2019-11-07T18:51:08.869511+00:00 heroku[web.1]: Stopping all processes with SIGTERM
2019-11-07T18:51:08.945205+00:00 heroku[web.1]: Process exited with status 143
2019-11-07T18:51:07.450121+00:00 app[api]: Release v8 created by user info@empuls3.com
2019-11-07T18:51:07.450121+00:00 app[api]: Deploy 10d4e58c by user info@empuls3.com
2019-11-07T18:51:10.000000+00:00 app[api]: Build succeeded
2019-11-07T18:51:14.243753+00:00 heroku[web.1]: Starting process with command `bin/rails server -p 57251 -e production`
2019-11-07T18:51:22.012879+00:00 app[web.1]: => Booting Puma
2019-11-07T18:51:22.012909+00:00 app[web.1]: => Rails 6.0.1 application starting in production
2019-11-07T18:51:22.012911+00:00 app[web.1]: => Run `rails server --help` for more startup options
2019-11-07T18:51:23.940759+00:00 app[web.1]: Puma starting in single mode...
2019-11-07T18:51:23.940815+00:00 app[web.1]: * Version 3.12.1 (ruby 2.6.3-p62), codename: Llamas in Pajamas
2019-11-07T18:51:23.940818+00:00 app[web.1]: * Min threads: 5, max threads: 5
2019-11-07T18:51:23.940821+00:00 app[web.1]: * Environment: production
2019-11-07T18:51:23.941113+00:00 app[web.1]: * Listening on tcp://0.0.0.0:57251
2019-11-07T18:51:23.941523+00:00 app[web.1]: Use Ctrl-C to stop
2019-11-07T18:51:24.411028+00:00 heroku[web.1]: State changed from starting to up
2019-11-07T18:51:26.442192+00:00 heroku[router]: at=info method=GET path="/" host=secret-thicket-83846.herokuapp.com request_id=8a468676-9584-4fb3-96e4-244cd24c4e54 fwd="76.186.127.38" dyno=web.1 connect=8ms service=28ms status=500 bytes=1827 protocol=https
2019-11-07T18:51:26.416853+00:00 app[web.1]: I, [2019-11-07T18:51:26.416723 #4]  INFO -- : [8a468676-9584-4fb3-96e4-244cd24c4e54] Started GET "/" for 76.186.127.38 at 2019-11-07 18:51:26 +0000
2019-11-07T18:51:26.419407+00:00 app[web.1]: I, [2019-11-07T18:51:26.419321 #4]  INFO -- : [8a468676-9584-4fb3-96e4-244cd24c4e54] Processing by PagesController#index as HTML
2019-11-07T18:51:26.429775+00:00 app[web.1]: I, [2019-11-07T18:51:26.429640 #4]  INFO -- : [8a468676-9584-4fb3-96e4-244cd24c4e54]   Rendering pages/index.html.erb within layouts/application
2019-11-07T18:51:26.433285+00:00 app[web.1]: I, [2019-11-07T18:51:26.433177 #4]  INFO -- : [8a468676-9584-4fb3-96e4-244cd24c4e54]   Rendered shared/pages/_pages-nav.html.erb (Duration: 1.2ms | Allocations: 428)
2019-11-07T18:51:26.436145+00:00 app[web.1]: I, [2019-11-07T18:51:26.436053 #4]  INFO -- : [8a468676-9584-4fb3-96e4-244cd24c4e54]   Rendered shared/pages/_pages-footer.html.erb (Duration: 1.4ms | Allocations: 454)
2019-11-07T18:51:26.436316+00:00 app[web.1]: I, [2019-11-07T18:51:26.436241 #4]  INFO -- : [8a468676-9584-4fb3-96e4-244cd24c4e54]   Rendered pages/index.html.erb within layouts/application (Duration: 6.4ms | Allocations: 2233)
2019-11-07T18:51:26.438291+00:00 app[web.1]: I, [2019-11-07T18:51:26.438178 #4]  INFO -- : [8a468676-9584-4fb3-96e4-244cd24c4e54] Completed 500 Internal Server Error in 19ms (Allocations: 4225)
2019-11-07T18:51:26.439773+00:00 app[web.1]: F, [2019-11-07T18:51:26.439690 #4] FATAL -- : [8a468676-9584-4fb3-96e4-244cd24c4e54]
2019-11-07T18:51:26.439776+00:00 app[web.1]: [8a468676-9584-4fb3-96e4-244cd24c4e54] ActionView::Template::Error (Webpacker can't find application in /app/public/packs/manifest.json. Possible causes:
2019-11-07T18:51:26.439779+00:00 app[web.1]: 1. You want to set webpacker.yml value of compile to true for your environment
2019-11-07T18:51:26.439781+00:00 app[web.1]: unless you are using the `webpack -w` or the webpack-dev-server.
2019-11-07T18:51:26.439789+00:00 app[web.1]: 2. webpack has not yet re-run to reflect updates.
2019-11-07T18:51:26.439791+00:00 app[web.1]: 3. You have misconfigured Webpacker's config/webpacker.yml file.
2019-11-07T18:51:26.439794+00:00 app[web.1]: 4. Your webpack configuration is not creating a manifest.
2019-11-07T18:51:26.439796+00:00 app[web.1]: Your manifest contains:
2019-11-07T18:51:26.439798+00:00 app[web.1]: {
2019-11-07T18:51:26.439800+00:00 app[web.1]: }
2019-11-07T18:51:26.439802+00:00 app[web.1]: ):
2019-11-07T18:51:26.439805+00:00 app[web.1]: [8a468676-9584-4fb3-96e4-244cd24c4e54]      6:     <%= csp_meta_tag %>
2019-11-07T18:51:26.439807+00:00 app[web.1]: [8a468676-9584-4fb3-96e4-244cd24c4e54]      7:
2019-11-07T18:51:26.439809+00:00 app[web.1]: [8a468676-9584-4fb3-96e4-244cd24c4e54]      8:     <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
2019-11-07T18:51:26.439811+00:00 app[web.1]: [8a468676-9584-4fb3-96e4-244cd24c4e54]      9:     <%= stylesheet_pack_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
2019-11-07T18:51:26.439814+00:00 app[web.1]: [8a468676-9584-4fb3-96e4-244cd24c4e54]     10:     <%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>
2019-11-07T18:51:26.439816+00:00 app[web.1]: [8a468676-9584-4fb3-96e4-244cd24c4e54]     11:   </head>
2019-11-07T18:51:26.439818+00:00 app[web.1]: [8a468676-9584-4fb3-96e4-244cd24c4e54]     12:
2019-11-07T18:51:26.439820+00:00 app[web.1]: [8a468676-9584-4fb3-96e4-244cd24c4e54]
2019-11-07T18:51:26.439822+00:00 app[web.1]: [8a468676-9584-4fb3-96e4-244cd24c4e54] app/views/layouts/application.html.erb:9
2019-11-07T18:51:26.884395+00:00 heroku[router]: at=info method=GET path="/favicon.ico" host=secret-thicket-83846.herokuapp.com request_id=f6ab460f-68cb-456f-a6f7-4ba7ba947b00 fwd="76.186.127.38" dyno=web.1 connect=1ms service=2ms status=200 bytes=143 protocol=https

Posted in S3 Storage and Active Storage Images not showing

Hey Guys,

I have S3 Storage all setup and things are workin as I am getting:

ActiveStorage::Blob Update (0.8ms)  UPDATE "active_storage_blobs" SET "metadata" = $1 WHERE "active_storage_blobs"."id" = $2 

in the terminal but my images are shouwing as broken images. Any ideas on how to fix this?

Posted in How do I display just the year in a sect date?

Got it, thanks Chris!

<%= form.date_select :year, :discard_day   => true, :discard_month => true, class: 'form-control' %>

Posted in How do I display just the year in a sect date?

Good day Rails Devs,

What's the proper way to dsiplay just the year in:

<%= form.date_select :year %>

Great job as alawys Chris, I'm creating an app with a Users model and Vehicles model, should I add the address to the Users model or the Vehicles model?

Posted in How to Build a Forum with Jumpstart Pro

Here is what it's showing:

  Prefix Verb   URI Pattern                                          Controller#Action
    discussion_posts GET    /discussions/:discussion_id/posts(.:format)          posts#index
                     POST   /discussions/:discussion_id/posts(.:format)          posts#create
 new_discussion_post GET    /discussions/:discussion_id/posts/new(.:format)      posts#new
edit_discussion_post GET    /discussions/:discussion_id/posts/:id/edit(.:format) posts#edit
     discussion_post GET    /discussions/:discussion_id/posts/:id(.:format)      posts#show
                     PATCH  /discussions/:discussion_id/posts/:id(.:format)      posts#update
                     PUT    /discussions/:discussion_id/posts/:id(.:format)      posts#update
                     DELETE /discussions/:discussion_id/posts/:id(.:format)      posts#destroy

Posted in How to Build a Forum with Jumpstart Pro

Here are my routes:

 # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html

Rails.application.routes.draw do

  resources :discussions do
    resources :posts
  end
  # Jumpstart views
  if Rails.env.development? || Rails.env.test?
    mount Jumpstart::Engine, at: '/jumpstart'
    mount LetterOpenerWeb::Engine, at: "/letter_opener"
  end

  # Administrate
  authenticated :user, lambda { |u| u.admin? } do
    namespace :admin do
      if defined?(Sidekiq)
        require 'sidekiq/web'
        mount Sidekiq::Web => '/sidekiq'
      end

      resources :announcements
      resources :users
      namespace :user do
        resources :connected_accounts
      end
      resources :teams
      resources :team_members
      resources :plans
      namespace :pay do
        resources :charges
        resources :subscriptions
      end

      root to: "dashboard#show"
    end
  end

  # User account
  devise_for :users,
             controllers: {
               masquerades: 'jumpstart/masquerades',
               omniauth_callbacks: 'users/omniauth_callbacks',
               registrations: 'users/registrations',
             }

  resources :announcements, only: [:index]
  resources :teams do
    member do
      patch :switch
    end

    resources :team_members, path: :members
  end

  # Payments
  resource :card
  resource :subscription do
    patch :info
    patch :resume
  end
  resources :charges
  namespace :account do
    resource :password
  end

  resources :users
  namespace :user, module: :users do
    resources :connected_accounts
  end

  scope controller: :static do
    get :about
    get :terms
    get :privacy
    get :pricing
  end

  authenticated :user do
    root to: "dashboard#show", as: :user_root
  end

  # Public marketing homepage
  root to: "static#index"
end


Posted in How to Build a Forum with Jumpstart Pro

Hey Guys,

I'm following along with the How to Build a Forum with Jumpstart Pro video (https://www.youtube.com/watch?v=ZSom4V-nYxA&t=903s) and I am running into the error "The action 'create' could not be found for PostsController" when trying to reply to a discussion. Here are my files:

posts_controller.rb

class PostsController < ApplicationController
  before_action :set_discussion
  before_action :set_post, only[:edit, :update, :destroy]

  def create
    @post = @discussion.posts.new(post_params)
    @post.user = current_user

    if @post.save
      redirect_to discussion_path(@discussion, anchor: @post.id)
    else
      redirect_to @discussion, alert: @post.errors.full_messages.first
    end
  end

  def edit
  end

  def update
    if @post.update(post_params)
      redirect_to discussion_path(@discussion, anchor: @post.id)
    else
      redirect_to @discussion, alert: @post.errors.full_messages.first
    end
  end

  def destroy
    @post.destroy
    redirect_to @discussion
  end

  private

  def set_discussion
    @discussion = Discussion.find(params[:discussion_id])
  end

  def set_post
    @post = @discussion.posts.find_by!(id: params[:id], user: current_user)
  end

  def post_params
    params.require(:post).permit(:body)
  end
end

_post.html.erb

<div id="<%= dom_id(post) %>" class="flex pb-6 border-b mb-6 group">
  <div class="mr-6">
    <%= image_tag avatar_url_for(post.user), class: "rounded-full", height: 40, width: 40 %>
  </div>

  <div class="flex-1">
    <div class="mb-4">
      <span class="font-semibold"><%= post.user.name %></span>
      <span class> <%= link_to local_time_ago(post.created_at), discussion_path(@discussion, anchor: post.id), class: "ml-1 hover:underline text-gray-700"  %></span>
      <% if user_signed_in? && current_user == post.user %>
        <span class="text-gray-600">-</span> <%= link_to "Edit", edit_discussion_post_path(@discussion, post), class: "ml-1 hover:underline text-gray-700" %>
      <% end %>
    </div>

    <div>
      <%= post.body %>
    </div>
  </div>
</div>

edit.html.erb

<div class="container mx-auto my-8 px-4 max-w-3xl bg-white shadow p-8">
  <h1 class="h2 mb-6">Editing Post</h1>

  <%= form_with model: [@discussion, @post], class: "flex-1" do |form| %>
    <div class="form-group">
      <%= form.rich_text_area :body, data: { controller: "mentions", target: "mentions.field" } %>
    </div>

    <div class="form-group flex justify-between">
      <%= link_to "Delete", [@discussion, @post], method: :delete, class: "btn btn-link text-red-700", data: { remote: true, confirm: "Are you sure?" } %>
      <div>
        <%= link_to "Cancel", @discussion, class: "btn btn-link" %>
        <%= form.submit "Save Changes", class: "btn btn-tertiary", data: { disable_with: "Saving..." } %>
      </div>
    </div>
  <% end %>
</div>

discussion_controller.rb

class DiscussionsController < ApplicationController
  before_action :authenticate_user!, except: [:index, :show]
  before_action :set_discussion, only: [:show, :edit, :update, :destroy]

  # GET /discussions
  def index
    @pagy, @discussions = pagy(Discussion.all)
  end

  # GET /discussions/1
  def show
  end

  # GET /discussions/new
  def new
    @discussion = Discussion.new
    @discussion.posts.new
  end

  # GET /discussions/1/edit
  def edit
  end

  # POST /discussions
  def create
    @discussion = current_user.discussions.new(discussion_params)
    @discussion.posts.each{ |post| post.user = current_user }

    if @discussion.save
      redirect_to @discussion, notice: 'Discussion was successfully created.'
    else
      render :new
    end
  end

  # PATCH/PUT /discussions/1
  def update
    if @discussion.update(discussion_params)
      redirect_to @discussion, notice: 'Discussion was successfully updated.'
    else
      render :edit
    end
  end

  # DELETE /discussions/1
  def destroy
    @discussion.destroy
    redirect_to discussions_url, notice: 'Discussion was successfully destroyed.'
  end

  private
    # Use callbacks to share common setup or constraints between actions.
    def set_discussion
      @discussion = Discussion.find(params[:id])
    end

    # Only allow a trusted parameter "white list" through.
    def discussion_params
      params.require(:discussion).permit(:user_id, :title, posts_attributes: [:body])
    end
end

Great job guys I just purchased the pro version. Any idea on when the API feature will be available?

Regards
Rob

Posted in Gem for Questions

Thanks @eelcoj I give this a try!

Posted in Gem for Questions

Hey Rails Devs,

I'm developing an app and I want to send user random questions at random times on certain days. Are there any good Gems to do this or will I have to create something on my own?

Thanks in advance

I did and I got this:

yarn install v1.16.0
[1/4] 🔍  Resolving packages...
success Already up-to-date.
✨  Done in 0.45s.

I'm getting

error Command "webpack" not found.

The error is on the

<%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>

Hey Chris ,

I'm getting this error:

Webpacker can't find application in /Users/robthomas/Dropbox/rails/sample/public/packs/manifest.json. Possible causes:

  1. You want to set webpacker.yml value of compile to true for your environment unless you are using the webpack -w or the webpack-dev-server.
  2. webpack has not yet re-run to reflect updates.
  3. You have misconfigured Webpacker's config/webpacker.yml file.
  4. Your webpack configuration is not creating a manifest. Your manifest contains: { }

Extracted source (around line #10):


    <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
    <%= stylesheet_pack_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
    <%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>

Posted in To use Rails 6 or Not

Perfect, thanks Chris!!!

Posted in To use Rails 6 or Not

Hey Go Rails Fam,

I'm starting a new project this weekend and I was wondering should I user Rails 5.2.3 or just start the project with Rails 6.0.0.rc1? Let me know what you think.

Cheers
Rob

Posted in Connecting User with devise

Thanks @eelcoj I will definatly give this a try!

Posted in Connecting User with devise

Hello Go Rails Community,

I'm looking for some help, let's say I have an app that's for married couples. If the husband signs up for the app he hac send and invite to his wife and vice versa. What would be a good way to do the with deveise?

Posted in application.html.erb Help

Surthing!

Screencast tutorials to help you learn Ruby on Rails, Javascript, Hotwire, Turbo, Stimulus.js, PostgreSQL, MySQL, Ubuntu, and more.

© 2024 GoRails, LLC. All rights reserved.