rails v 7.0.3
I have this table with one variable, name, in it.
The _form code, from scaffold generation:
<%= form_with(model: course) do |form| %>
<% if course.errors.any? %>
<div style="color: red">
<h2><%= pluralize(course.errors.count, "error") %> prohibited this course from being saved:</h2>
<ul>
<% course.errors.each do |error| %>
<li><%= error.full_message %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="form-group">
<%= form.text_field :name, class:"form-control", placeholder:"name" %>
</div>
<br>
<div>
<%= form.submit %>
</div>
<% end %>
the courses_controller.rb file:
class CoursesController < ApplicationController
before_action :set_course, only: %i[ show edit update destroy ]
# GET /courses or /courses.json
def index
@courses = Course.all
end
# GET /courses/1 or /courses/1.json
def show
end
# GET /courses/new
def new
@course = Course.new
end
# GET /courses/1/edit
def edit
end
# POST /courses or /courses.json
def create
@course = Course.new(course_params)
respond_to do |format|
if @course.save
format.html { redirect_to course_url(@course), notice: "Course was successfully created." }
format.json { render :show, status: :created, location: @course }
else
format.html { render :new, status: :unprocessable_entity }
format.json { render json: @course.errors, status: :unprocessable_entity }
end
end
end
# PATCH/PUT /courses/1 or /courses/1.json
def update
respond_to do |format|
if @course.update(course_params)
format.html { redirect_to course_url(@course), notice: "Course was successfully updated." }
format.json { render :show, status: :ok, location: @course }
else
format.html { render :edit, status: :unprocessable_entity }
format.json { render json: @course.errors, status: :unprocessable_entity }
end
end
end
# DELETE /courses/1 or /courses/1.json
def destroy
@course.destroy
respond_to do |format|
format.html { redirect_to courses_url, notice: "Course was successfully destroyed." }
format.json { head :no_content }
end
end
private
# Use callbacks to share common setup or constraints between actions.
def set_course
@course = Course.find(params[:id])
end
# Only allow a list of trusted parameters through.
def course_params
params.fetch(:course, {})
end
end
The snippet of code from my userHome file:
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#staticBackdrop">
Launch static backdrop modal
</button>
<!-- Modal -->
<div class="modal fade" id="staticBackdrop" data-backdrop="static" data-keyboard="false" tabindex="-1" aria-labelledby="staticBackdropLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="staticBackdropLabel">Make a new course</h5>
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
</div>
<div class="modal-body">
</div>
</div>
</div>
</div>
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#staticBackdrop">
Add a course
</button>
<!-- Modal -->
<div class="modal fade" id="staticBackdrop" data-backdrop="static" data-keyboard="false" tabindex="-1" aria-labelledby="staticBackdropLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="staticBackdropLabel">Make a new course</h5>
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
</div>
<div class="modal-body">
</div>
</div>
</div>
</div><button type="button" class="btn btn-primary" data-toggle="modal" data-target="#staticBackdrop">
Launch static backdrop modal
</button>
<!-- Modal -->
<div class="modal fade" id="staticBackdrop" data-backdrop="static" data-keyboard="false" tabindex="-1" aria-labelledby="staticBackdropLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="staticBackdropLabel">Make a new course</h5>
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
</div>
<div class="modal-body">
<%= render "courses/form" %>
</div>
</div>
</div>
</div>
ive also tried render "courses/new" to load the new page from the scaffold into the modal instead, but that doesnt work either.
in routes.rb I have
resources :courses
Is there anything i'm missing, or another way I can spawn a modal that allows me to input values to save into a database?
thanks in advance.