Rails引擎扩展了config / application.rb

时间:2013-11-22 00:26:55

标签: ruby-on-rails ruby

我正在编写Rails engine,但我不知道如何扩展我的config / application.rb

我想我必须以某种方式获取应用程序名称 任何想法?

require File.expand_path('../boot', __FILE__)

require 'rails/all'

# Require the gems listed in Gemfile, including any gems
# you've limited to :test, :development, or :production.
Bundler.require(:default, Rails.env)

module application_name
  class Application < Rails::Application
  end
end

1 个答案:

答案 0 :(得分:2)

对于--full和--mountable引擎

这将为您生成。

module engine_name
  class Engine < ::Rails::Engine
  end
end

在主要应用程序中添加gemfile

gem 'engine_name', path: "/path/to/engine_name"

在您的应用程序中配置config / routes.rb文件

mount engine_name::Engine, at: "/<mount_point_you_choose>"

http://guides.rubyonrails.org/engines.html

取自上面的链接......

--mountable选项告诉生成器您要创建“可安装”和名称空间隔离的引擎。此生成器将提供与--full选项相同的骨架结构,并将添加:

资产清单文件(application.js和application.css) 命名空间的ApplicationController存根 命名空间的ApplicationHelper存根 引擎的布局视图模板 名称空间隔离到config / routes.rb: