[RUBY-ON-RAILS] 어떻게 레일 3 컨트롤러에서보기 파일의 기본 경로를 변경하려면?
RUBY-ON-RAILS어떻게 레일 3 컨트롤러에서보기 파일의 기본 경로를 변경하려면?
나는 ProjectsController라는 컨트롤러를 가지고있다. 기본적으로 그것의 행동, 응용 프로그램 / 뷰 / 프로젝트 내부의 전망을 찾는다. 나는 컨트롤러의 모든 메소드 (인덱스, 쇼, 새, 편집 등)에 대한 해당 경로를 변경하고 싶습니다.
예를 들면 :
class ProjectsController < ApplicationController
#I'd like to be able to do something like this
views_path 'views/mycustomfolder'
def index
#some code
end
def show
#some code
end
def new
#some code
end
def edit
#some code
end
end
내가 렌더링과 각 방법을 변경하지만, 그들 모두에 대한 기본 경로를 정의하고 있지 않다 유의하시기 바랍니다. 이게 가능해? 그렇다면, 어떻게?
감사합니다!
해결법
-
==============================
1.더가 내장되어 있다면 방법이 들어, 아마 당신은 해당 컨트롤러 렌더링을 무시할 수 없다?
더가 내장되어 있다면 방법이 들어, 아마 당신은 해당 컨트롤러 렌더링을 무시할 수 없다?
class MyController < ApplicationController # actions .. private def render(*args) options = args.extract_options! options[:template] = "/mycustomfolder/#{params[:action]}" super(*(args << options)) end end
이 연습에서 작동하거나 전혀 작동하는지 얼마나 잘 확실하지.
-
==============================
2.참조 ActionView :: ViewPaths :: ClassMethods 번호의 prepend_view_path.
참조 ActionView :: ViewPaths :: ClassMethods 번호의 prepend_view_path.
class ProjectsController < ApplicationController prepend_view_path 'app/views/mycustomfolder' ...
-
==============================
3.당신은 당신의 컨트롤러 내에서이 작업을 수행 할 수 있습니다
당신은 당신의 컨트롤러 내에서이 작업을 수행 할 수 있습니다
def self.controller_path "mycustomfolder" end
-
==============================
4.당신은 무언가를 같이 추가 할 수 있습니다 :
당신은 무언가를 같이 추가 할 수 있습니다 :
paths.app.views << "app/views/myspecialdir"
는 config에서 / application.rb 파일은 레일 뷰 템플릿을 위해 다른 디렉토리에서 찾아 보게한다. 한 가지주의해야 할 점은 여전히 컨트롤러와 일치하는보기 파일을 찾을 것이라는 점이다. 그래서 당신이 그것을 렌더링 "응용 프로그램 / 뷰 / myspecialdir / 홈 / index.html.erb"라는 뭔가를 살펴 보겠습니다보기에 위의 설정으로 HomeController라는 이름의 컨트롤러가있는 경우.
-
==============================
5.당신은 응용 프로그램 수준에서 모든 뷰에 대한 기본 경로를 변경하려면 다음과 같이 뭔가를 할 수 -
당신은 응용 프로그램 수준에서 모든 뷰에 대한 기본 경로를 변경하려면 다음과 같이 뭔가를 할 수 -
class ApplicationController < ActionController::Base before_action :set_views private def set_views prepend_view_path "#{Rails.root.join('app', 'views', 'new_views')}" end end
그리고 원본과 동일한 디렉토리 구조 다음 폴더 new_views의 모든 뷰를 작성합니다.
from https://stackoverflow.com/questions/4301249/how-to-change-the-default-path-of-view-files-in-a-rails-3-controller by cc-by-sa and MIT license
'RUBY-ON-RAILS' 카테고리의 다른 글
[RUBY-ON-RAILS] 같은 분야에 attr_accessor 및 attr_accessible 사용 (0) | 2020.02.25 |
---|---|
[RUBY-ON-RAILS] 번들 / 업데이트를 설치하십시오 libv8 (therubyracer) 설치 (기본 확장자) 실패 (0) | 2020.02.25 |
[RUBY-ON-RAILS] 루비 1.9.2 및 레일 3 열 수 없습니다 레일 콘솔 (0) | 2020.02.25 |
[RUBY-ON-RAILS] 무엇 MySQL과 mysql2 보석의 차이 (0) | 2020.02.25 |
[RUBY-ON-RAILS] 루비 1.8.7 (또는 레일 2.X)에서 () String.force_encoding (0) | 2020.02.24 |