dan*_*gle 8 ruby templates ruby-on-rails
我正在搞乱rails 2.3模板,并希望能够在我的模板中使用应用程序名称作为变量,所以当我使用......时
,我希望能够访问template.rb中的appname.有人知道怎么做吗?
谢谢
rails appname -m path/to/template.rb
Mik*_*her 15
我一直在寻找这个问题的答案.不幸的是,上面的答案(@root)似乎在Rails 3中不起作用.
这是您可以在Rails 3应用程序模板中访问的变量(甚至更容易):
@app_name
@app_path
Run Code Online (Sandbox Code Playgroud)
谢谢你的回答.迈克伍德豪斯,你是如此亲密.事实证明,你需要做的就是从rails模板中访问appname ...
@root.split('/').last
Run Code Online (Sandbox Code Playgroud)
@root变量是初始化模板时创建的第一个变量,可在rails模板中使用.RAILS_ROOT不起作用.
小智 5
我遇到了类似的问题,上面列出的变量都没有在Rails 4 @name中可用.我发现在运行时可用
rails plugin new engines/dummy -m my_template.rb
Run Code Online (Sandbox Code Playgroud)
模板中还有其他有用的变量.你可以自己看看并利用它来玩pry.在我的模板里面我添加了
require 'pry'; binding.pry
Run Code Online (Sandbox Code Playgroud)
然后运行ls以显示可用实例变量的列表
ls -i
instance variables:
@_initializer @app_path @behavior @destination_stack @extra_entries @name @output_buffer @shell
@_invocations @args @builder @dummy_path @gem_filter @options @rails_template @source_paths
@after_bundle_callbacks @author @camelized @email @in_group @original_name @shebang
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5486 次 |
| 最近记录: |