나는 네임 스페이스가있는 리소스에 전문가를 사용하는 방법을 알아 내려고하고 있습니다.레일즈 5, 네임 스페이스가있는 전문가들
나는 이것들에 문제가 있다고 말하는 다른 사람들의 많은 게시물을 읽었지만, 전문가의 보석 발행 추적기에 대한 그 이전의 토론은. 이슈 트래커는 해결책이 무엇인지에 대해 명확하지 않습니다. 그래서 저는 붙어 있습니다.
중첩 된 리소스에 대한 네임 스페이스 인 Stance라는 폴더가 있는데 그 중 하나를 개요라고합니다.
model.rb 파일이 호출됩니다
class Stance::Overview < ApplicationRecord
컨트롤러가 호출 :
class Stance::OverviewsController < ApplicationController
호출되는 DB의 테이블 : 내 응용 프로그램에서
create_table "stance_overviews", force: :cascade do |t|
/정책 폴더를 만들 때 여러 가지 방법으로 정책을 만들었으며 여러 가지 시도를 통해보기에서 정책을 참조했습니다. 나는 작동하는 방법을 찾을 수 없습니다.)
내 조직보기에서class Stance::OverviewPolicy < ApplicationPolicy
이 (한 입장 :: 개요이있는), 내가 로컬 변수를 정의
나는 함께 overview_policy.rb라는 파일과 자세라는 폴더를 만드는 시도했습니다 : 뷰에서 다음
<% if current_user.organisation_id != @organisation.id %>
<%= render 'stance/overviews/internal', overview: @organisation.overview %>
<% else %>
<%= render 'stance/overviews/external', overview: @organisation.overview %>
<% end %>
, 내가 노력하고있어 :
<% if policy(overview).show? %>
<p><%= overview.explanation %></p>
<% end %>
나는 변화 O를 찾을 수 없습니다 이게 효과가있어. 내가 시도한 모든 것은 SO 게시물을 기반으로 한 추측이며, 그 중 대부분은 학자 이슈 트래커의 대화보다 선행합니다.
오류 메시지가 표시되지 않지만 콘텐츠를 렌더링해야 할 때 렌더링되지 않습니다.
누구나 내가 명성있는 자원으로 명석함을 사용할 수 있도록하기 위해 필요한 것을 볼 수 있습니까?
Stance 또는 stance라는 정책 파일의 stance 폴더가 있습니까? 나는 이것이 모두 소문자 일 필요가 있다고 생각한다. 우리는 우리 모델 중 하나와 비슷한 설정을 가지고 있으며 잘 작동합니다. 그래도 컨트롤러에있는 유일한 권한입니다. – Scott
내 정책 폴더 안에 'stance'라는 소문자 폴더가 있습니다. 방침에서 수업의 이름을 어떻게 지으니까? 나는이 일을하고있다 : class Stance :: OverviewPolicy
Mel
이것이 바로 내가 설치 한 방법이다. 어떤 오류가 발생합니까? – Scott