mirror of
https://github.com/astuto/astuto.git
synced 2025-12-15 11:17:49 +01:00
Add posts and comments to admin panel
This commit is contained in:
15
app/controllers/admin/comments_controller.rb
Normal file
15
app/controllers/admin/comments_controller.rb
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
module Admin
|
||||||
|
class CommentsController < Admin::ApplicationController
|
||||||
|
before_action :default_order
|
||||||
|
|
||||||
|
def default_order
|
||||||
|
@order ||= Administrate::Order.new(
|
||||||
|
params.fetch(resource_name, {}).fetch(:order, 'updated_at'),
|
||||||
|
params.fetch(resource_name, {}).fetch(:direction, 'desc'),
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
# See https://administrate-prototype.herokuapp.com/customizing_controller_actions
|
||||||
|
# for more information
|
||||||
|
end
|
||||||
|
end
|
||||||
15
app/controllers/admin/posts_controller.rb
Normal file
15
app/controllers/admin/posts_controller.rb
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
module Admin
|
||||||
|
class PostsController < Admin::ApplicationController
|
||||||
|
before_action :default_order
|
||||||
|
|
||||||
|
def default_order
|
||||||
|
@order ||= Administrate::Order.new(
|
||||||
|
params.fetch(resource_name, {}).fetch(:order, 'updated_at'),
|
||||||
|
params.fetch(resource_name, {}).fetch(:direction, 'desc'),
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
# See https://administrate-prototype.herokuapp.com/customizing_controller_actions
|
||||||
|
# for more information
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -1,35 +1,13 @@
|
|||||||
module Admin
|
module Admin
|
||||||
class UsersController < Admin::ApplicationController
|
class UsersController < Admin::ApplicationController
|
||||||
# Overwrite any of the RESTful controller actions to implement custom behavior
|
before_action :default_order
|
||||||
# For example, you may want to send an email after a foo is updated.
|
|
||||||
#
|
|
||||||
# def update
|
|
||||||
# foo = Foo.find(params[:id])
|
|
||||||
# foo.update(params[:foo])
|
|
||||||
# send_foo_updated_email
|
|
||||||
# end
|
|
||||||
|
|
||||||
# Override this method to specify custom lookup behavior.
|
def default_order
|
||||||
# This will be used to set the resource for the `show`, `edit`, and `update`
|
@order ||= Administrate::Order.new(
|
||||||
# actions.
|
params.fetch(resource_name, {}).fetch(:order, 'updated_at'),
|
||||||
#
|
params.fetch(resource_name, {}).fetch(:direction, 'desc'),
|
||||||
# def find_resource(param)
|
)
|
||||||
# Foo.find_by!(slug: param)
|
end
|
||||||
# end
|
|
||||||
|
|
||||||
# Override this if you have certain roles that require a subset
|
|
||||||
# this will be used to set the records shown on the `index` action.
|
|
||||||
#
|
|
||||||
# def scoped_resource
|
|
||||||
# if current_user.super_admin?
|
|
||||||
# resource_class
|
|
||||||
# else
|
|
||||||
# resource_class.with_less_stuff
|
|
||||||
# end
|
|
||||||
# end
|
|
||||||
|
|
||||||
# See https://administrate-prototype.herokuapp.com/customizing_controller_actions
|
|
||||||
# for more information
|
|
||||||
|
|
||||||
def authenticate_admin
|
def authenticate_admin
|
||||||
unless user_signed_in?
|
unless user_signed_in?
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ class BoardDashboard < Administrate::BaseDashboard
|
|||||||
name: Field::String,
|
name: Field::String,
|
||||||
description: Field::Text,
|
description: Field::Text,
|
||||||
order: Field::Number,
|
order: Field::Number,
|
||||||
|
posts: Field::HasMany,
|
||||||
created_at: Field::DateTime,
|
created_at: Field::DateTime,
|
||||||
updated_at: Field::DateTime,
|
updated_at: Field::DateTime,
|
||||||
}.freeze
|
}.freeze
|
||||||
@@ -25,6 +26,7 @@ class BoardDashboard < Administrate::BaseDashboard
|
|||||||
name
|
name
|
||||||
description
|
description
|
||||||
order
|
order
|
||||||
|
posts
|
||||||
].freeze
|
].freeze
|
||||||
|
|
||||||
# SHOW_PAGE_ATTRIBUTES
|
# SHOW_PAGE_ATTRIBUTES
|
||||||
@@ -34,6 +36,7 @@ class BoardDashboard < Administrate::BaseDashboard
|
|||||||
name
|
name
|
||||||
description
|
description
|
||||||
order
|
order
|
||||||
|
posts
|
||||||
created_at
|
created_at
|
||||||
updated_at
|
updated_at
|
||||||
].freeze
|
].freeze
|
||||||
@@ -62,7 +65,7 @@ class BoardDashboard < Administrate::BaseDashboard
|
|||||||
# Overwrite this method to customize how boards are displayed
|
# Overwrite this method to customize how boards are displayed
|
||||||
# across all pages of the admin dashboard.
|
# across all pages of the admin dashboard.
|
||||||
#
|
#
|
||||||
# def display_resource(board)
|
def display_resource(board)
|
||||||
# "Board ##{board.id}"
|
"Board \"#{board.name}\""
|
||||||
# end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
76
app/dashboards/comment_dashboard.rb
Normal file
76
app/dashboards/comment_dashboard.rb
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
require "administrate/base_dashboard"
|
||||||
|
|
||||||
|
class CommentDashboard < Administrate::BaseDashboard
|
||||||
|
# ATTRIBUTE_TYPES
|
||||||
|
# a hash that describes the type of each of the model's fields.
|
||||||
|
#
|
||||||
|
# Each different type represents an Administrate::Field object,
|
||||||
|
# which determines how the attribute is displayed
|
||||||
|
# on pages throughout the dashboard.
|
||||||
|
ATTRIBUTE_TYPES = {
|
||||||
|
id: Field::Number,
|
||||||
|
body: Field::Text,
|
||||||
|
parent_id: Field::Number,
|
||||||
|
parent: Field::BelongsTo.with_options(class_name: "Comment"),
|
||||||
|
children: Field::HasMany.with_options(class_name: "Comment"),
|
||||||
|
user: Field::BelongsTo,
|
||||||
|
post: Field::BelongsTo,
|
||||||
|
created_at: Field::DateTime,
|
||||||
|
updated_at: Field::DateTime,
|
||||||
|
}.freeze
|
||||||
|
|
||||||
|
# COLLECTION_ATTRIBUTES
|
||||||
|
# an array of attributes that will be displayed on the model's index page.
|
||||||
|
#
|
||||||
|
# By default, it's limited to four items to reduce clutter on index pages.
|
||||||
|
# Feel free to add, remove, or rearrange items.
|
||||||
|
COLLECTION_ATTRIBUTES = %i[
|
||||||
|
body
|
||||||
|
user
|
||||||
|
post
|
||||||
|
children
|
||||||
|
].freeze
|
||||||
|
|
||||||
|
# SHOW_PAGE_ATTRIBUTES
|
||||||
|
# an array of attributes that will be displayed on the model's show page.
|
||||||
|
SHOW_PAGE_ATTRIBUTES = %i[
|
||||||
|
id
|
||||||
|
body
|
||||||
|
parent_id
|
||||||
|
parent
|
||||||
|
children
|
||||||
|
user
|
||||||
|
post
|
||||||
|
created_at
|
||||||
|
updated_at
|
||||||
|
].freeze
|
||||||
|
|
||||||
|
# FORM_ATTRIBUTES
|
||||||
|
# an array of attributes that will be displayed
|
||||||
|
# on the model's form (`new` and `edit`) pages.
|
||||||
|
FORM_ATTRIBUTES = %i[
|
||||||
|
body
|
||||||
|
parent
|
||||||
|
user
|
||||||
|
post
|
||||||
|
].freeze
|
||||||
|
|
||||||
|
# COLLECTION_FILTERS
|
||||||
|
# a hash that defines filters that can be used while searching via the search
|
||||||
|
# field of the dashboard.
|
||||||
|
#
|
||||||
|
# For example to add an option to search for open resources by typing "open:"
|
||||||
|
# in the search field:
|
||||||
|
#
|
||||||
|
# COLLECTION_FILTERS = {
|
||||||
|
# open: ->(resources) { where(open: true) }
|
||||||
|
# }.freeze
|
||||||
|
COLLECTION_FILTERS = {}.freeze
|
||||||
|
|
||||||
|
# Overwrite this method to customize how comments are displayed
|
||||||
|
# across all pages of the admin dashboard.
|
||||||
|
#
|
||||||
|
# def display_resource(comment)
|
||||||
|
# "Comment ##{comment.id}"
|
||||||
|
# end
|
||||||
|
end
|
||||||
79
app/dashboards/post_dashboard.rb
Normal file
79
app/dashboards/post_dashboard.rb
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
require "administrate/base_dashboard"
|
||||||
|
|
||||||
|
class PostDashboard < Administrate::BaseDashboard
|
||||||
|
# ATTRIBUTE_TYPES
|
||||||
|
# a hash that describes the type of each of the model's fields.
|
||||||
|
#
|
||||||
|
# Each different type represents an Administrate::Field object,
|
||||||
|
# which determines how the attribute is displayed
|
||||||
|
# on pages throughout the dashboard.
|
||||||
|
ATTRIBUTE_TYPES = {
|
||||||
|
id: Field::Number,
|
||||||
|
title: Field::String,
|
||||||
|
description: Field::Text,
|
||||||
|
comments: Field::HasMany,
|
||||||
|
user: Field::BelongsTo,
|
||||||
|
board: Field::BelongsTo,
|
||||||
|
post_status: Field::BelongsTo,
|
||||||
|
created_at: Field::DateTime,
|
||||||
|
updated_at: Field::DateTime,
|
||||||
|
}.freeze
|
||||||
|
|
||||||
|
# COLLECTION_ATTRIBUTES
|
||||||
|
# an array of attributes that will be displayed on the model's index page.
|
||||||
|
#
|
||||||
|
# By default, it's limited to four items to reduce clutter on index pages.
|
||||||
|
# Feel free to add, remove, or rearrange items.
|
||||||
|
COLLECTION_ATTRIBUTES = %i[
|
||||||
|
title
|
||||||
|
description
|
||||||
|
user
|
||||||
|
board
|
||||||
|
post_status
|
||||||
|
comments
|
||||||
|
].freeze
|
||||||
|
|
||||||
|
# SHOW_PAGE_ATTRIBUTES
|
||||||
|
# an array of attributes that will be displayed on the model's show page.
|
||||||
|
SHOW_PAGE_ATTRIBUTES = %i[
|
||||||
|
id
|
||||||
|
title
|
||||||
|
description
|
||||||
|
user
|
||||||
|
board
|
||||||
|
post_status
|
||||||
|
comments
|
||||||
|
created_at
|
||||||
|
updated_at
|
||||||
|
].freeze
|
||||||
|
|
||||||
|
# FORM_ATTRIBUTES
|
||||||
|
# an array of attributes that will be displayed
|
||||||
|
# on the model's form (`new` and `edit`) pages.
|
||||||
|
FORM_ATTRIBUTES = %i[
|
||||||
|
title
|
||||||
|
description
|
||||||
|
user
|
||||||
|
board
|
||||||
|
post_status
|
||||||
|
].freeze
|
||||||
|
|
||||||
|
# COLLECTION_FILTERS
|
||||||
|
# a hash that defines filters that can be used while searching via the search
|
||||||
|
# field of the dashboard.
|
||||||
|
#
|
||||||
|
# For example to add an option to search for open resources by typing "open:"
|
||||||
|
# in the search field:
|
||||||
|
#
|
||||||
|
# COLLECTION_FILTERS = {
|
||||||
|
# open: ->(resources) { where(open: true) }
|
||||||
|
# }.freeze
|
||||||
|
COLLECTION_FILTERS = {}.freeze
|
||||||
|
|
||||||
|
# Overwrite this method to customize how posts are displayed
|
||||||
|
# across all pages of the admin dashboard.
|
||||||
|
#
|
||||||
|
# def display_resource(post)
|
||||||
|
# "Post ##{post.id}"
|
||||||
|
# end
|
||||||
|
end
|
||||||
@@ -13,6 +13,7 @@ class PostStatusDashboard < Administrate::BaseDashboard
|
|||||||
color: ColorField,
|
color: ColorField,
|
||||||
order: Field::Number,
|
order: Field::Number,
|
||||||
show_in_roadmap: Field::Boolean,
|
show_in_roadmap: Field::Boolean,
|
||||||
|
posts: Field::HasMany,
|
||||||
created_at: Field::DateTime,
|
created_at: Field::DateTime,
|
||||||
updated_at: Field::DateTime,
|
updated_at: Field::DateTime,
|
||||||
}.freeze
|
}.freeze
|
||||||
@@ -27,6 +28,7 @@ class PostStatusDashboard < Administrate::BaseDashboard
|
|||||||
color
|
color
|
||||||
order
|
order
|
||||||
show_in_roadmap
|
show_in_roadmap
|
||||||
|
posts
|
||||||
].freeze
|
].freeze
|
||||||
|
|
||||||
# SHOW_PAGE_ATTRIBUTES
|
# SHOW_PAGE_ATTRIBUTES
|
||||||
@@ -37,6 +39,7 @@ class PostStatusDashboard < Administrate::BaseDashboard
|
|||||||
color
|
color
|
||||||
order
|
order
|
||||||
show_in_roadmap
|
show_in_roadmap
|
||||||
|
posts
|
||||||
created_at
|
created_at
|
||||||
updated_at
|
updated_at
|
||||||
].freeze
|
].freeze
|
||||||
@@ -66,7 +69,7 @@ class PostStatusDashboard < Administrate::BaseDashboard
|
|||||||
# Overwrite this method to customize how post statuses are displayed
|
# Overwrite this method to customize how post statuses are displayed
|
||||||
# across all pages of the admin dashboard.
|
# across all pages of the admin dashboard.
|
||||||
#
|
#
|
||||||
# def display_resource(post_status)
|
def display_resource(post_status)
|
||||||
# "PostStatus ##{post_status.id}"
|
"PostStatus \"#{post_status.name}\""
|
||||||
# end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -23,6 +23,8 @@ class UserDashboard < Administrate::BaseDashboard
|
|||||||
updated_at: Field::DateTime,
|
updated_at: Field::DateTime,
|
||||||
role: RoleField,
|
role: RoleField,
|
||||||
full_name: Field::String,
|
full_name: Field::String,
|
||||||
|
posts: Field::HasMany,
|
||||||
|
comments: Field::HasMany,
|
||||||
}.freeze
|
}.freeze
|
||||||
|
|
||||||
# COLLECTION_ATTRIBUTES
|
# COLLECTION_ATTRIBUTES
|
||||||
@@ -34,6 +36,8 @@ class UserDashboard < Administrate::BaseDashboard
|
|||||||
full_name
|
full_name
|
||||||
email
|
email
|
||||||
role
|
role
|
||||||
|
posts
|
||||||
|
comments
|
||||||
].freeze
|
].freeze
|
||||||
|
|
||||||
# SHOW_PAGE_ATTRIBUTES
|
# SHOW_PAGE_ATTRIBUTES
|
||||||
@@ -44,6 +48,8 @@ class UserDashboard < Administrate::BaseDashboard
|
|||||||
email
|
email
|
||||||
role
|
role
|
||||||
password
|
password
|
||||||
|
posts
|
||||||
|
comments
|
||||||
created_at
|
created_at
|
||||||
updated_at
|
updated_at
|
||||||
confirmed_at
|
confirmed_at
|
||||||
@@ -76,7 +82,7 @@ class UserDashboard < Administrate::BaseDashboard
|
|||||||
# Overwrite this method to customize how users are displayed
|
# Overwrite this method to customize how users are displayed
|
||||||
# across all pages of the admin dashboard.
|
# across all pages of the admin dashboard.
|
||||||
#
|
#
|
||||||
# def display_resource(user)
|
def display_resource(user)
|
||||||
# "User ##{user.id}"
|
"#{user.role.capitalize} \"#{user.full_name}\""
|
||||||
# end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ class Post < ApplicationRecord
|
|||||||
belongs_to :board
|
belongs_to :board
|
||||||
belongs_to :user
|
belongs_to :user
|
||||||
belongs_to :post_status, optional: true
|
belongs_to :post_status, optional: true
|
||||||
has_many :comments
|
has_many :comments, dependent: :destroy
|
||||||
|
|
||||||
validates :title, presence: true, length: { in: 4..64 }
|
validates :title, presence: true, length: { in: 4..64 }
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
class PostStatus < ApplicationRecord
|
class PostStatus < ApplicationRecord
|
||||||
|
has_many :posts, dependent: :nullify
|
||||||
|
|
||||||
after_initialize :set_random_color, :set_order_to_last
|
after_initialize :set_random_color, :set_order_to_last
|
||||||
|
|
||||||
validates :name, presence: true, uniqueness: true
|
validates :name, presence: true, uniqueness: true
|
||||||
|
|||||||
@@ -3,7 +3,8 @@ class User < ApplicationRecord
|
|||||||
:recoverable, :rememberable, :validatable,
|
:recoverable, :rememberable, :validatable,
|
||||||
:confirmable
|
:confirmable
|
||||||
|
|
||||||
has_many :comments
|
has_many :posts, dependent: :destroy
|
||||||
|
has_many :comments, dependent: :destroy
|
||||||
|
|
||||||
enum role: [:user, :moderator, :admin]
|
enum role: [:user, :moderator, :admin]
|
||||||
after_initialize :set_default_role, if: :new_record?
|
after_initialize :set_default_role, if: :new_record?
|
||||||
|
|||||||
20
app/views/admin/application/_flashes.html.erb
Normal file
20
app/views/admin/application/_flashes.html.erb
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
<%#
|
||||||
|
# Flash Partial
|
||||||
|
|
||||||
|
This partial renders flash messages on every page.
|
||||||
|
|
||||||
|
## Relevant Helpers:
|
||||||
|
|
||||||
|
- `flash`:
|
||||||
|
Returns a hash,
|
||||||
|
where the keys are the type of flash (alert, error, notice, etc)
|
||||||
|
and the values are the message to be displayed.
|
||||||
|
%>
|
||||||
|
|
||||||
|
<% if flash.any? %>
|
||||||
|
<div class="flashes">
|
||||||
|
<% flash.each do |key, value| -%>
|
||||||
|
<div class="flash flash-<%= key %>"><%= value.html_safe %></div>
|
||||||
|
<% end -%>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
13
app/views/admin/application/_icons.html.erb
Normal file
13
app/views/admin/application/_icons.html.erb
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
|
||||||
|
<symbol id="icon-cancel" viewBox="0 0 48 48">
|
||||||
|
<path fill-rule="evenodd" d="M24 19.757l-8.485-8.485c-.784-.783-2.047-.782-2.827 0l-1.417 1.416c-.777.777-.78 2.046.002 2.827L19.757 24l-8.485 8.485c-.783.784-.782 2.047 0 2.827l1.416 1.417c.777.777 2.046.78 2.827-.002L24 28.243l8.485 8.485c.784.783 2.047.782 2.827 0l1.417-1.416c.777-.777.78-2.046-.002-2.827L28.243 24l8.485-8.485c.783-.784.782-2.047 0-2.827l-1.416-1.417c-.777-.777-2.046-.78-2.827.002L24 19.757zM24 47c12.703 0 23-10.297 23-23S36.703 1 24 1 1 11.297 1 24s10.297 23 23 23z" />
|
||||||
|
</symbol>
|
||||||
|
|
||||||
|
<symbol id="icon-eyeglass" viewBox="0 0 48 48">
|
||||||
|
<path d="M27.885 32.515c-2.864 1.966-6.333 3.116-10.07 3.116C7.976 35.63 0 27.656 0 17.817 0 7.976 7.976 0 17.816 0S35.63 7.976 35.63 17.816c0 3.736-1.15 7.205-3.115 10.07l14.53 14.53c1.278 1.277 1.275 3.352 0 4.628-1.28 1.278-3.353 1.278-4.63 0l-14.53-14.53zm-10.07-3.736c6.056 0 10.964-4.91 10.964-10.964 0-6.055-4.91-10.964-10.964-10.964-6.055 0-10.964 4.91-10.964 10.964 0 6.055 4.91 10.963 10.964 10.963z" />
|
||||||
|
</symbol>
|
||||||
|
|
||||||
|
<symbol id="icon-up-caret" viewBox="0 0 48 48">
|
||||||
|
<path d="M2.988 33.02c-1.66 0-1.943-.81-.618-1.824l20-15.28c.878-.672 2.31-.67 3.188 0l20.075 15.288c1.316 1.003 1.048 1.816-.62 1.816H2.987z" />
|
||||||
|
</symbol>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.3 KiB |
21
app/views/admin/application/_javascript.html.erb
Normal file
21
app/views/admin/application/_javascript.html.erb
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
<%#
|
||||||
|
# Javascript Partial
|
||||||
|
|
||||||
|
This partial imports the necessary javascript on each page.
|
||||||
|
By default, it includes the application JS,
|
||||||
|
but each page can define additional JS sources
|
||||||
|
by providing a `content_for(:javascript)` block.
|
||||||
|
%>
|
||||||
|
|
||||||
|
<% Administrate::Engine.javascripts.each do |js_path| %>
|
||||||
|
<%= javascript_include_tag js_path %>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
<%= yield :javascript %>
|
||||||
|
|
||||||
|
<% if Rails.env.test? %>
|
||||||
|
<%= javascript_tag do %>
|
||||||
|
$.fx.off = true;
|
||||||
|
$.ajaxSetup({ async: false });
|
||||||
|
<% end %>
|
||||||
|
<% end %>
|
||||||
14
app/views/admin/application/_stylesheet.html.erb
Normal file
14
app/views/admin/application/_stylesheet.html.erb
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
<%#
|
||||||
|
# Stylesheet Partial
|
||||||
|
|
||||||
|
This partial imports the necessary stylesheets on each page.
|
||||||
|
By default, it includes the application CSS,
|
||||||
|
but each page can define additional CSS sources
|
||||||
|
by providing a `content_for(:stylesheet)` block.
|
||||||
|
%>
|
||||||
|
|
||||||
|
<% Administrate::Engine.stylesheets.each do |css_path| %>
|
||||||
|
<%= stylesheet_link_tag css_path %>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
<%= yield :stylesheet %>
|
||||||
41
app/views/layouts/admin/application.html.erb
Normal file
41
app/views/layouts/admin/application.html.erb
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
<%#
|
||||||
|
# Application Layout
|
||||||
|
|
||||||
|
This view template is used as the layout
|
||||||
|
for every page that Administrate generates.
|
||||||
|
|
||||||
|
By default, it renders:
|
||||||
|
- Navigation
|
||||||
|
- Content for a search bar
|
||||||
|
(if provided by a `content_for` block in a nested page)
|
||||||
|
- Flashes
|
||||||
|
- Links to stylesheets and JavaScripts
|
||||||
|
%>
|
||||||
|
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="<%= I18n.locale %>">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="ROBOTS" content="NOODP">
|
||||||
|
<meta name="viewport" content="initial-scale=1">
|
||||||
|
<title>
|
||||||
|
<%= content_for(:title) %> - Admin Panel - <%= Rails.application.name %>
|
||||||
|
</title>
|
||||||
|
<%= render "stylesheet" %>
|
||||||
|
<%= csrf_meta_tags %>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<%= render "icons" %>
|
||||||
|
|
||||||
|
<div class="app-container">
|
||||||
|
<%= render "navigation" -%>
|
||||||
|
|
||||||
|
<main class="main-content" role="main">
|
||||||
|
<%= render "flashes" -%>
|
||||||
|
<%= yield %>
|
||||||
|
</main>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<%= render "javascript" %>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -6,6 +6,8 @@ Rails.application.routes.draw do
|
|||||||
root to: 'boards#index'
|
root to: 'boards#index'
|
||||||
|
|
||||||
resources :boards
|
resources :boards
|
||||||
|
resources :comments
|
||||||
|
resources :posts
|
||||||
resources :post_statuses
|
resources :post_statuses
|
||||||
resources :users
|
resources :users
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user