Complete Lesson 25
This commit is contained in:
parent
2e4e522c96
commit
c3fbb70cff
@ -1,42 +1,42 @@
|
||||
class MoviesController < ApplicationController
|
||||
def index
|
||||
@movies = Movie.released
|
||||
def index
|
||||
@movies = Movie.released
|
||||
end
|
||||
def show
|
||||
@movie = Movie.find(params[:id])
|
||||
end
|
||||
def edit
|
||||
@movie = Movie.find(params[:id])
|
||||
end
|
||||
def update
|
||||
@movie = Movie.find(params[:id])
|
||||
if @movie.update(movie_params)
|
||||
redirect_to @movie, notice: "Movie successfully updated!"
|
||||
else
|
||||
render :edit, status: :unprocessable_entity
|
||||
end
|
||||
def show
|
||||
@movie = Movie.find(params[:id])
|
||||
end
|
||||
def new
|
||||
@movie = Movie.new
|
||||
end
|
||||
def create
|
||||
@movie = Movie.new(movie_params)
|
||||
if @movie.save
|
||||
redirect_to @movie, notice: "Movie successfully created!"
|
||||
else
|
||||
render :new, status: :unprocessable_entity
|
||||
end
|
||||
def edit
|
||||
@movie = Movie.find(params[:id])
|
||||
end
|
||||
def update
|
||||
@movie = Movie.find(params[:id])
|
||||
if @movie.update(movie_params)
|
||||
redirect_to @movie, notice: "Movie successfully updated!"
|
||||
else
|
||||
render :edit, status: :unprocessable_entity
|
||||
end
|
||||
end
|
||||
def new
|
||||
@movie = Movie.new
|
||||
end
|
||||
def create
|
||||
@movie = Movie.new(movie_params)
|
||||
if @movie.save
|
||||
redirect_to @movie, notice: "Movie successfully created!"
|
||||
else
|
||||
render :new, status: :unprocessable_entity
|
||||
end
|
||||
end
|
||||
def destroy
|
||||
@movie = Movie.find(params[:id])
|
||||
if @movie.destroy
|
||||
redirect_to movies_url, status: :see_other, alert: "Movie successfully destroyed!"
|
||||
end
|
||||
end
|
||||
def destroy
|
||||
@movie = Movie.find(params[:id])
|
||||
if @movie.destroy
|
||||
redirect_to movies_url, status: :see_other, alert: "Movie successfully destroyed!"
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
private
|
||||
|
||||
def movie_params
|
||||
params.require(:movie).permit(:title, :description, :rating, :released_on, :total_gross, :director, :duration, :image_file_name)
|
||||
end
|
||||
def movie_params
|
||||
params.require(:movie).permit(:title, :description, :rating, :released_on, :total_gross, :director, :duration, :image_file_name)
|
||||
end
|
||||
end
|
||||
|
@ -1,2 +1,9 @@
|
||||
module ReviewsHelper
|
||||
def average_stars(movie)
|
||||
if movie.average_stars.zero?
|
||||
content_tag(:strong, "No reviews")
|
||||
else
|
||||
pluralize(number_with_precision(movie.average_stars, precision: 1) , "star")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -17,4 +17,7 @@ class Movie < ApplicationRecord
|
||||
def self.released
|
||||
where("released_on < ?", Time.now).order(released_on: :desc)
|
||||
end
|
||||
def average_stars
|
||||
reviews.average(:stars) || 0.0
|
||||
end
|
||||
end
|
||||
|
@ -12,6 +12,9 @@
|
||||
<h3>
|
||||
<%= total_gross(movie) %>
|
||||
</h3>
|
||||
<span class="stars">
|
||||
<%= average_stars(movie) %>
|
||||
</span>
|
||||
<p>
|
||||
<%= truncate(movie.description, length: 150, separator: ' ') %>
|
||||
</p>
|
||||
|
@ -8,6 +8,7 @@
|
||||
<%= year_of(@movie) %> • <%= @movie.rating %>
|
||||
</h2>
|
||||
<div class="reviews">
|
||||
<%= average_stars(@movie) %>
|
||||
<%= link_to pluralize(@movie.reviews.size, "review"), movie_reviews_path(@movie) %>
|
||||
</div>
|
||||
<p>
|
||||
|
Loading…
x
Reference in New Issue
Block a user