Alchemy CMS 용 사용자 지정 방명록 모듈 만들기
-
13-12-2019 - |
문제
Alchemy CMS 프레임 워크를 사용하여 레일 사이트 내에서 방명록 모듈을 구축하려고합니다. 연금술으로 모듈 건물에 대한 문서화 방식에 많은 것으로 보이지 않으므로 이 페이지 .
Admins가 Greetbook_Controller.rb라는 두 개의 컨트롤러를 만들고 App / Controlers / Admin
에이 값을 배치했습니다.module Admin
class GuestbookController < Alchemy::Admin::ResourcesController
def index
"index"
end
end
end
.
및 App / Controllers / Greengebook_Controller.rb
class GuestbookController < ActionController::Base
def index
"index"
end
end
.
내 의도는 Greendbook 게시물이 이미 연금술 내에있는 페이지 중 하나에 표시 되며이 페이지에 양식이 표시됩니다.
방명록 모델은 다음과 같습니다.
class GuestbookEntry < ActiveRecord::Base
attr_accessible :location, :message, :name
end
.
내 경로 파일은 다음과 같습니다.
resources :guestbook
namespace :admin do
resources :guestbook
end
mount Alchemy::Engine => '/'
.
및 i는 다음과 같습니다. 다음과 같은 구성에서 authorization_rules.rb라는 파일이 있습니다. 승인 수행
role :admin do
has_permission_on :guestbook, :to => [:manage]
end
end
.
마주 치는 첫 번째 문제는 Route / Admin / Dexbook로가는 것입니다. '귀하가 권한이 부여되지 않은'오류가 발생하지만 인증 규칙 파일이 내 initalizer에 의해 호출되어야합니다. 그래서 왜 내가 얻는 이유는 무엇입니까? 이 오류?
# Registering guestbook module in Alchemy CMS
Alchemy::Modules.register_module(YAML.load_file(File.join(File.dirname(__FILE__), '../..', 'config/guestbook_module.yml')))
# Loading authorization rules and register them to auth engine instance
Alchemy::AuthEngine.get_instance.load(File.join(File.dirname(__FILE__), '../..', 'config/authorization_rules.rb'))
. 해결책
권한 부여 문제는 쉽습니다. 당신은 단지 쓸 필요가 있습니다 :
has_permission_on :admin_guestbook, :to => [:manage]
.
내가 알아 차리는 또 다른 일 : 프론트 엔드 GreenDbookController는 Alchemy :: BaseController에서 상속해야합니다.
및 게시판 항목을 렌더링하려는 페이지가 연금술에 의해 캐싱되어서는 안됩니다.페이지 레이아웃에 대한 page_layouts.yml에서 cache: false
옵션을 사용 하여이 작업을 수행 할 수 있습니다.