gpt4 book ai didi

ruby-on-rails - 如果从其他 Controller 调用指定的布局,则不会为 Controller 呈现指定的布局

转载 作者:太空宇宙 更新时间:2023-11-03 16:22:39 24 4
gpt4 key购买 nike

在我的 Rails 应用程序中,我有一个 Controller “home”和另一个“admin”。从家庭 Controller 的索引 Action 我试图呈现 Controller 的索引 Action 。在管理 Controller 中,我指定了要使用的布局,即“user_layout”,家庭 Controller 使用默认的应用程序布局。以下是家庭 Controller

class HomeController < ApplicationController

def index
if user_signed_in?

@user = User.where(id: current_user.id)
@user.each do |user|
@allowed_user = user.allow
end

@org = Organization.where(user_id: current_user.id)
#render :template => 'organizations/show'
@org.each do |org|
session[:current_organization_id] = org.id
end
respond_to do |format|
format.html { render 'admin/index' }
format.json { render json:@org}
end
end
end
end

管理员 Controller

class AdminController < ApplicationController

before_filter :authenticate_user!
layout "user_layout"
def index
@org = Organization.where(user_id: current_user.id)
@user = User.where(id: current_user.id)
@user.each do |user|
@allowed_user = user.allow
end
end
end

但是,如果在访问其他 Controller 的某些其他操作后调用管理 Controller 的索引操作,则应用 user_layout 而不是从家庭 Controller 调用时。

最佳答案

渲染 View 不会转到 Controller ,因此它不会转到管理 Controller 并检查它应该渲染哪个布局。你必须在家庭 Controller 中指定它。

请试试这个。

  format.html { render "admin/index", layout: "user_layout"  }

在您对索引操作 block 的响应中,家庭 Controller 。

关于ruby-on-rails - 如果从其他 Controller 调用指定的布局,则不会为 Controller 呈现指定的布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31370189/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com