#19 Wiki 新規作成完成
This commit is contained in:
@@ -1,19 +1,24 @@
|
||||
class WikiPagesController < ApplicationController
|
||||
def show
|
||||
wiki_page = WikiPage.find(params[:id])
|
||||
render json: wiki_page.as_json
|
||||
end
|
||||
|
||||
def show_by_title
|
||||
wiki_page = WikiPage.find_by(title: params[:title])
|
||||
if wiki_page
|
||||
render plain: wiki_page.markdown
|
||||
else
|
||||
head :not_found
|
||||
end
|
||||
body = wiki_page&.body
|
||||
return head :not_found unless body
|
||||
|
||||
render plain: body
|
||||
end
|
||||
|
||||
def create
|
||||
return head :unauthorized unless current_user
|
||||
return head :forbidden unless ['admin', 'member'].include?(current_user.role)
|
||||
|
||||
wiki_page = WikiPage.new(title: params[:title], tag_id: params[:tag_id], created_user: current_user, updated_user: current_user)
|
||||
wiki_page.markdown = params[:markdown], user: current_user
|
||||
wiki_page = WikiPage.new(title: params[:title], created_user: current_user, updated_user: current_user)
|
||||
if wiki_page.save
|
||||
wiki_page.set_body params[:body], user: current_user
|
||||
render json: wiki_page, status: :created
|
||||
else
|
||||
render json: { errors: wiki_page.errors.full_messages }, status: :unprocessable_entity
|
||||
@@ -27,7 +32,7 @@ class WikiPagesController < ApplicationController
|
||||
return head :not_found unless wiki_pages
|
||||
|
||||
wiki_page.updated_user = current_user
|
||||
wiki_page.markdown = params[:markdown], user: current_user
|
||||
wiki_page.set_body params[:body], user: current_user
|
||||
wiki_page.save!
|
||||
head :ok
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user