<source id="4vppl"><ins id="4vppl"></ins></source>
<u id="4vppl"><sub id="4vppl"><label id="4vppl"></label></sub></u>
<object id="4vppl"></object>
  • <u id="4vppl"><li id="4vppl"><label id="4vppl"></label></li></u>

    <object id="4vppl"></object>
    <b id="4vppl"><sub id="4vppl"><tr id="4vppl"></tr></sub></b>

      <i id="4vppl"><thead id="4vppl"></thead></i>

      <thead id="4vppl"><li id="4vppl"><label id="4vppl"></label></li></thead>

      當前位置:首頁 > 網站舊欄目 > 學習園地 > 設計軟件教程 > 每天一劑Rails良藥之Automating Development With Your Own Generators

      每天一劑Rails良藥之Automating Development With Your Own Generators
      2010-01-14 07:10:34  作者:  來源:
      今天看看怎么寫自己的Generators
      Rails在以下地方查找用戶自定義的Generators:
      RAILS_ROOT/lib/generators
      RAILS_ROOT/vendor/generators
      RAILS_ROOT/vendor/plugins/any_subdirectory/generators
      ~/.rails/generators
      以及以_generator為后綴的Gems
      我們看看一個例子代碼:
      Java代碼 復制代碼
      1. class TumblepostGenerator < Rails::Generator::NamedBase   
      2.   def manifest   
      3.     record do |m|   
      4.       m.class_collisions class_name   
      5.       m.template  "app/controllers/controller_template.rb",   
      6.                   "app/controllers/#{file_name}_controller.rb"  
      7.       m.template  "app/models/model_template.rb",   
      8.                   "app/models/#{file_name}.rb"  
      9.       m.directory File.join('app/views', file_name)   
      10.       m.template  "app/views/form_template.rhtml",   
      11.                   "app/views/#{file_name}/_form.rhtml"  
      12.       m.template  "app/views/view_template.rhtml",   
      13.                   "app/views/#{file_name}/_view.rhtml"  
      14.   
      15.       m.readme "POST_GENERATION_REMINDER"  
      16.     end   
      17.   end   
      18. end  

      其中Rails::Generator::NamedBase是ruby script/generator后面帶參數的,而Rails::Generator::Base是不帶參數的
      生成的文件會先用ERB解析,這樣我們可以自己構建生成文件的模板,如:
      Java代碼 復制代碼
      1. class <%= class_name %>Controller < TumblepostController   
      2.   def new  
      3.     @thing = <%= class_name %>.new  
      4.   end  

      如果我們要生成數據庫Migration,我們可以這樣寫:
      Java代碼 復制代碼
      1. m.migration_template "db/migrations/migration_template.rb""db/migrate"  

      事實上已經有很多Generators創建好并以gems部署了,讓我搜索一下:
      Java代碼 復制代碼
      1. gem search -r generator  

      安徽新華電腦學校專業職業規劃師為你提供更多幫助【在線咨詢
      国产午夜福三级在线播放_亚洲精品成a人片在线观看_亚洲自慰一区二区三区_久久棈精品久久久久久噜噜
      <source id="4vppl"><ins id="4vppl"></ins></source>
      <u id="4vppl"><sub id="4vppl"><label id="4vppl"></label></sub></u>
      <object id="4vppl"></object>
    1. <u id="4vppl"><li id="4vppl"><label id="4vppl"></label></li></u>

      <object id="4vppl"></object>
      <b id="4vppl"><sub id="4vppl"><tr id="4vppl"></tr></sub></b>

        <i id="4vppl"><thead id="4vppl"></thead></i>

        <thead id="4vppl"><li id="4vppl"><label id="4vppl"></label></li></thead>
        色婷婷5月综合久久 | 在线视频第一亚洲 | 亚洲国产精品中文字 | 偷拍视频一区二区三区 | 亚洲美女牲淫视频片 | 日产中文字幕在线精品一区 |