Rails_admin은 매우 좋지만 일부 사람들이 원할 경우 너무 많습니다. 자신의 관리 섹션을 개발하는 것은 매우 쉽습니다.
레일과 자신의 RESTful 관리 섹션을 만드는 방법 3.2
네임 스페이스를 사용하여 중첩 된 자원을 포함한 모든 모델에 대한 CRUD와 자신의 관리 섹션을 만듭니다.
예 - 블로그 에 대한 관리 섹션 - 모델 : 포스트, 코멘트 (포스트의 중첩 된 자원)
난 당신이 기본 블로그 응용 프로그램 개발이 있으리라 믿고있어. 이 모든 것을 설정하는 방법은 http://guides.rubyonrails.org/getting_started.html을 참조하십시오.
첫 번째 단계 -이 모든 관리 컨트롤러에서 상속되는 빈 컨트롤러를 생성합니다 관리자 섹션과 컨트롤러
rails g controller admin/admin
을 만듭니다. 또한 대시 보드 역할을 할 수있는 views/admin/admin/index.html.erb 파일을 생성합니다. 이동이 config (설정)을 관리 컨트롤러 네임 스페이스를 추가/루트 -
작성 관리 컨트롤러
rails g controller admin/posts
rails g controller admin/comments
이 빈 관리자 ::가 PostsController와 관리자 : CommentsController 관리자 네임 스페이스
2 단계에서 생성됩니다 .rb를 추가하고 다음을 추가하십시오.
namespace :admin do
root to: "admin#index"
resources :posts do
resources :comments, :only => [:create, :destroy]
end
end
3 단계 - 관리자보기 및 컨트롤러 파일을 편집하여 admin name space 이제 생성 된 모든 것이 프론트 엔드가 아닌 관리 컨트롤러에서 작동하도록 만들었습니다.
모든 Admin :: * 컨트롤러의 상속을 변경하십시오. 응용 프로그램/조회/관리/게시물 사본 응용 프로그램/조회/관리/의견에 응용 프로그램/조회/댓글에서 모든 템플릿 응용 프로그램/조회/게시물에서
class Admin::PostsController < ApplicationController => class Admin::PostsController < Admin::AdminController
및
class Admin::CommentsController < ApplicationController => class Admin::CommentsController < Admin::AdminController
사본 모든 템플릿 복사 관리자/comments_controller.rb
에 comments_controller.rb의 모든 기능 사본 관리자/posts_controller.rb에 posts_controller.rb의 모든 기능은 뷰/관리/관리/각 index.html.erb에 대한 링크를 추가 그만큼 관리 CRUD를 관리하려는 모델 예 : 게시물
<%= link_to "Posts", admin_posts_path %>
편집 admin/posts_controller.rb. admin 네임 스페이스에서 작동하도록 3 개의 redirect_to 호출을 변경하십시오. 만들기 및 업데이트 방법 :
redirect_to @post => redirect_to [:admin, @post]
이 방법 파괴 : 그들은 관리자 네임 스페이스 내에서 함께 작동 할 수 있도록
redirect_to posts_url => redirect_to admin_posts_url
모든 템플릿에서 유사한 변경합니다. 당신은 다음과 같이 변경해야합니다
포스트/_form.html.erb :
form_for(@post) => form_for([:admin, @post])
포스트/edit.html.erb, index.html.erb, new.html.erb & show.html합니다.
<%= link_to ‘Show’, @post %> => <%= link_to ‘Show’, [:admin, @post] %>
posts_path => admin_posts_path
edit_post_path(@post) => edit_admin_post_path(@post)
new_post_path => new_admin_post_path
<%= render "comments/form" %> => <%= render "admin/comments/form" %>
코멘트/_comment.html.erb
<%= link_to 'Destroy Comment', [comment.post, comment],... => <%= link_to 'Destroy Comment', [:admin, comment.post, comment],...
코멘트/_form.html.erb의 채널 : ERB는 모든 인스턴스를 찾을 수 ange :
<%= form_for([@post, @post.comments.build]) do |f| %>=> <%= form_for([:admin, @post, @post.comments.build]) do |f| %>
그게 전부입니다. 이제/admin/posts 및 CRUD 작업에 대한 링크가있는/admin 대시 보드를 사용할 수 있습니다.
shout-out to http://icebergist.com/posts/restful-admin-namespaced-controller-using-scaffolding. 그의 솔루션은 2008 년부터 여전히 관련이 있지만, Rails 3.2와는 분명히 차이점이 있습니다. 중첩 된 자원을 포함합니다.
레일에 대한 지식이 얼마나 좋습니까? cms를 얻는 훨씬 똑똑한 방법이 있습니다. 코드를 배우지 않고 레일에서 뭔가를하는 것은 불가능합니다. –
내 지식은 괜찮지 만 내 고객은 필요한 경우 웹 사이트의 콘텐츠를 원할뿐입니다. 따라서 코드에 얽매이지 않고 내 클라이언트가 페이지 내용을 변경할 수 있도록 페이지의 관리 영역이 필요합니다. 이 작업을 수행하는 방법을 알고 있습니까? – pesolari
누군가가 비계로 내 관리 영역을 만드는 것에 대해 이야기했지만 어떻게 작동하고 안전할까요? – pesolari