2012-05-19 1 views
3

나는 클라이언트를위한 웹 사이트를 만들었지 만 사진과 텍스트 인 웹 페이지의 콘텐츠를 유혹 할 수 있기를 원합니다. 나는 시도해 보았지만 시도했지만, 내 애플 리케이션 내에서 작동하도록 RefineryCMS 같은 것을 얻을 수 없었다.
rails_admin 등을 사용하여 내 CMS를 Rails 3.2 응용 프로그램에 구축하려면 어떻게해야합니까?

rails_admin, devise, ckeditor, kaminari 등을 사용하여 CMS를 만든 사람에 대한 정보를 읽었습니다.하지만 내 CMS/관리 영역을 만들어서 클라이언트가 코드를 배우거나 코드를 배우지 않아도 되나요?

저는 Ruby 1.9.2와 Rails 3.2.2를 가지고 있습니다. 아무도 내가 어떻게 할 수 있는지, 기존의 응용 프로그램에 플러그를 내 자신의 CMS를 만드나요? 어떤 종류의 자습서가 있습니까? 아니면 누구든지 나에게 설명 할 수 있습니까? 미리 감사드립니다!

+0

레일에 대한 지식이 얼마나 좋습니까? cms를 얻는 훨씬 똑똑한 방법이 있습니다. 코드를 배우지 않고 레일에서 뭔가를하는 것은 불가능합니다. –

+0

내 지식은 괜찮지 만 내 고객은 필요한 경우 웹 사이트의 콘텐츠를 원할뿐입니다. 따라서 코드에 얽매이지 않고 내 클라이언트가 페이지 내용을 변경할 수 있도록 페이지의 관리 영역이 필요합니다. 이 작업을 수행하는 방법을 알고 있습니까? – pesolari

+0

누군가가 비계로 내 관리 영역을 만드는 것에 대해 이야기했지만 어떻게 작동하고 안전할까요? – pesolari

답변

12

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와는 분명히 차이점이 있습니다. 중첩 된 자원을 포함합니다.

0

그래서 u는

다음 내용 다음

$ rails generate rails_admin:install 

를 생성

$ bundle install 

을 보석

$ gem 'rails_admin' 

... 설치 rails_admin합니다

$ rails server 

지금 u는 어쩌면 당신은 https://github.com/sferik/rails_admin에 조금 검색해야 domain.com/admin 에 관리자 패널로 이동할 수 있습니다. 이전보다 훨씬 많은 질문이있는 경우 먼저 레일 학습에 대해 생각해야합니다. Rails는 wordpress.zip의 내용을 일부 db 설정에 업로드하고 완료하는 데 사용하기 쉽지 않습니다.

+0

그것은 내가 의미했던 것이 아닙니다. rails_admin을 설치하는 방법을 알고 있지만 관리자 영역에있을 때 내 클라이언트가 원하는 내용을 변경할 수 없습니다. 그리고 저는 레일스 (레일즈를 사용하여 여러 웹 사이트를 구축했습니다)를 알고 있지만 레일스에 관해서는 잘 모릅니다 : CMS/admin – pesolari

관련 문제