gpt4 book ai didi

ruby-on-rails - 如何提供父 Rails 应用程序可用的引擎方法?

转载 作者:太空宇宙 更新时间:2023-11-03 15:59:35 26 4
gpt4 key购买 nike

我正在编写一个 Rails 引擎。

我在应用程序 Controller 中的 gem 中有两个方法(authenticate 和 current_user)。 https://github.com/krunal/aadhar/blob/master/app/controllers/aadhar/application_controller.rb

我希望“authenticate”方法在父 Rails 应用程序中作为 before_filter 可用。

我希望“current_user”方法在父 Rails 应用程序中作为方法和助手可用。

我不知道我怎样才能做到这一点。

假设在我的父应用程序中,我有一个帖子 Controller 。我想以这种方式使用“authenticate”和“current_user”。

PostsController < ApplicationController
before_filter :authenticate

def index
current_user.posts
end

最佳答案

您正在引擎中使用 isolate_namespace(推荐),但这意味着您需要在父应用程序中使用命名空间。因此,如果您将其更改为:

PostsController < Aadhar::ApplicationController

您可以访问authenticatecurrent_user 方法。请记住,您必须添加

helper_method :current_user

在 Controller 中,以便能够从 View 访问它。我试过了,可以确认它有效。

关于ruby-on-rails - 如何提供父 Rails 应用程序可用的引擎方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28358496/

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