This project was created with:
- Ruby
- Rails
- ERB (for template system with Ruby)
- Pry-byebug (for debugging)
- Bootstrap
- Pg_Search
- Postgresql
def index
if params[:query]
@movies = Movie.search_by_title_and_synopsis(params[:query])
else
@movies = Movie.all
end
end
Adding the code above and below, users can find movies by typing only parcials words of a title.
class Movie < ApplicationRecord
belongs_to :director
include PgSearch
pg_search_scope :search_by_title_and_synopsis,
against: [:title, :synopsis],
using: {
tsearch: { prefix: true }
}
pg_search_scope :global_search,
against: [ :title, :synopsis ],
associated_against: {
director: [ :first_name, :last_name ]
},
using: {
tsearch: { prefix: true }
}
multisearchable against: [ :title, :synopsis ]
end
To display flats on index page was used CSS grid:
.box-flex{
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-gap: 16px;
margin: 10px;
}
.box-flat{
margin: 10px 0;
background-color: #7868e6;
border: 1px solid #E8E8E8;
box-shadow: 2px 2px 2px 1px rgba(0, 0, 0, 0.2);
}
Download or clone it. . Then run in the main folder the command rails server
. If needed, run bundle install
to check if all gems are correctly installed. Then open the project on localhost:3000/movies
As user you can manipulate all CRUD operations like:
- Insert a movie on database;
- Search for a movie by title;
April 4
- Project created;
- Adding bootstrap, jquery, popper;
- Adding font-awesome, simple_form;
- Models and Controllers created;
- Database created;
- Seeds some content on database;
- Adding routes;
- Adding Pg_Search gem;
- Adding a migration to insert poster on movies;
- Adding CSS to main page.