kaiho/app/controllers/softwares_controller.rb

61 lines
1.2 KiB
Ruby

class SoftwaresController < ApplicationController
def index
@softwares = Software.all
end
def new
@software = Software.new
end
def show
@software = Software.find(params[:id])
end
def edit
@software = Software.find(params[:id])
case @software.repository_type
when 'Github'
if GithubRepository.exists?(software_id: @software)
@repository = GithubRepository.where(software_id: @software.id).take
@repository_form_path = software_github_repository_path(@repository)
else
@repository = GithubRepository.new
@repository_form_path = software_github_repository_index_path(@software.id)
end
end
end
def update
@software = Software.find(params[:id])
if @software.update(software_params)
redirect_to @software
else
render 'edit'
end
end
def create
@software = Software.new(software_params)
if @software.save
redirect_to @software
else
render 'new'
end
end
def destroy
@software = Software.find(params[:id])
@software.destroy
redirect_to softwares_path
end
private
def software_params
params.require(:software).permit(:name, :website, :repository_type)
end
end