[RUBY-ON-RAILS] 액션 당 레이아웃 레일?
RUBY-ON-RAILS액션 당 레이아웃 레일?
나는 (주로 컨트롤러의 대부분의 새로운 작업에 대한) 어떤 행동에 대한 다른 레이아웃을 사용합니다.
나는 어떤 레이아웃이 될 것이다 지정하는 가장 좋은 방법 궁금? (I 동일한 제어기에 3 개 이상의 상이한 레이아웃을 사용하고있다)
내가 사용 좋아하지 않는다
나는 일을 좋아했다
하지만 2 개 이상의 서로 다른 레이아웃을 지정하는 것을 사용할 수 없습니다.
예를 들면 :
나는 다른 레이아웃 이름과 다른 경우에만 옵션과 동일한 컨트롤러에 2 번 레이아웃을 호출 할 때, 첫 번째는 무시됩니다 - 이러한 작업은 내가 지정한 레이아웃에 표시되지 않습니다.
참고 : 나는 레일 2를 사용하고 있습니다.
해결법
-
==============================
1.당신은 레이아웃을 설정하는 방법을 사용할 수 있습니다.
당신은 레이아웃을 설정하는 방법을 사용할 수 있습니다.
class MyController < ApplicationController layout :resolve_layout # ... private def resolve_layout case action_name when "new", "create" "some_layout" when "index" "other_layout" else "application" end end end
-
==============================
2.당신은 단지 두 개의 레이아웃 사이에서 선택하는 경우 사용할 수 있습니다 만 :
당신은 단지 두 개의 레이아웃 사이에서 선택하는 경우 사용할 수 있습니다 만 :
class ProductsController < ApplicationController layout "admin", only: [:new, :edit] end
또는
class ProductsController < ApplicationController layout "application", only: [:index] end
-
==============================
3.당신은 respond_to를 사용하여 개별 조치에 대한 레이아웃을 지정할 수 있습니다 :
당신은 respond_to를 사용하여 개별 조치에 대한 레이아웃을 지정할 수 있습니다 :
def foo @model = Bar.first respond_to do |format| format.html {render :layout => 'application'} end end
-
==============================
4.또한 렌더링 사용하여 작업의 레이아웃을 지정할 수 있습니다 :
또한 렌더링 사용하여 작업의 레이아웃을 지정할 수 있습니다 :
def foo render layout: "application" end
-
==============================
5.보석 (layout_by_action는) 그것을 위해있다 :
보석 (layout_by_action는) 그것을 위해있다 :
layout_by_action [:new, :create] => "some_layout", :index => "other_layout"
https://github.com/barelyknown/layout_by_action
-
==============================
6.컨트롤러에서 레이아웃을 지정하는 여러 가지 방법 :
컨트롤러에서 레이아웃을 지정하는 여러 가지 방법 :
-
==============================
7.정밀 :
정밀 :
레이아웃 필요 ( "@some를") 작업에 대한 귀하의 변수 후가 될하려면 다음을 정말하지만 작업 DRY의 방법은 위 참조하지만, 정밀 것입니다. 같이 :
def your_action @some = foo render layout: "your_layout" end
그리고하지 :
def your_action render layout: "your_layout" @some = foo @foo = some end
당신이 before_action을 할 경우 ... 그것의 또한 작동하지 않습니다.
희망이 도움이.
from https://stackoverflow.com/questions/3025784/rails-layouts-per-action by cc-by-sa and MIT license
'RUBY-ON-RAILS' 카테고리의 다른 글
[RUBY-ON-RAILS] 레일 : 폰트가 최고 사용 (0) | 2020.02.09 |
---|---|
[RUBY-ON-RAILS] 여러 열 유효성 검사 고유성 (0) | 2020.02.09 |
[RUBY-ON-RAILS] 레일에서, 당신은 어떻게 뷰를 사용하여 JSON 렌더링합니까? (0) | 2020.02.09 |
[RUBY-ON-RAILS] 다른 컨트롤러 내의 고안 양식 (0) | 2020.02.09 |
[RUBY-ON-RAILS] 신선한 레일 프로젝트에서 SQLite는에서 PostgreSQL을로 변경 (0) | 2020.02.09 |