如何将值传递给 Rails 应用程序模板 (-m)
How to pass values to Rails app templates (-m)
我构建了几个用于生成新 Rails 应用程序的模板。比如rails new app_name -m template_name.rb
.
现在,我想将一些值传递给我的模板。有可能这样做吗?类似于 rails new app_name -m template_name.rb value1, value2
?
谢谢!
您可以将 environment variable
传递给模板:
temp.rb
:
gem "#{ENV['SOMETHING']}"
gem "nokogiri"
并制作新应用:
$bash> SOMETHING=foo rails new blog -m temp.rb
在应用目录中 blog
:
$ cat Gemfile
#...... some output
gem 'foo'
gem 'nokogiri'
另一方面,您可以使用 env 变量创建文件并使用它,创建文件 foo
使用:
export SOME=foo
export OTHER=bar
在temp.rb
中:
gem "#{ENV['SOME']}"
gem "#{ENV['OTHER']}"
gem "nokogiri"
现在生成新的 rails 项目:
$bash> $(cat foo) && rails new blog -m temp.rb
这是怎么回事?
首先读取 foo
文件和 export
env 变量,然后通过 temp.rb
生成新项目。
在blog/Gemfile
中:
gem 'foo'
gem 'bar'
gem 'nokogiri'
我构建了几个用于生成新 Rails 应用程序的模板。比如rails new app_name -m template_name.rb
.
现在,我想将一些值传递给我的模板。有可能这样做吗?类似于 rails new app_name -m template_name.rb value1, value2
?
谢谢!
您可以将 environment variable
传递给模板:
temp.rb
:
gem "#{ENV['SOMETHING']}"
gem "nokogiri"
并制作新应用:
$bash> SOMETHING=foo rails new blog -m temp.rb
在应用目录中 blog
:
$ cat Gemfile
#...... some output
gem 'foo'
gem 'nokogiri'
另一方面,您可以使用 env 变量创建文件并使用它,创建文件 foo
使用:
export SOME=foo
export OTHER=bar
在temp.rb
中:
gem "#{ENV['SOME']}"
gem "#{ENV['OTHER']}"
gem "nokogiri"
现在生成新的 rails 项目:
$bash> $(cat foo) && rails new blog -m temp.rb
这是怎么回事?
首先读取 foo
文件和 export
env 变量,然后通过 temp.rb
生成新项目。
在blog/Gemfile
中:
gem 'foo'
gem 'bar'
gem 'nokogiri'