2012-08-13 85 views
15

के साथ समाप्त होता है मेरे पास ActiveDns नाम का एक मॉडल है। जब मैंरेल - मॉडल का नाम एस

rails g scaffold_controller ActiveDns 

चलाने मैं संदेश मॉडल का पता चला की

बहुवचन संस्करण प्राप्त, singularized संस्करण का उपयोग कर। - बल-बहुवचन के साथ ओवरराइड करें।

अब, नियंत्रक और विचारों का नाटक जेनरेट किए जाते हैं कि विलक्षण ActiveDn है और बहुवचन ActiveDns है, और मैं link_to new_dn_path तरह मूर्खतापूर्ण सामान मिलता है। --force-plural तर्क इसे ठीक प्रतीत नहीं होता है:

rails g scaffold_controller ActiveDns --force-plural 

अभी भी, new_dn_path का उपयोग कर @active_dn नामित चर और विचारों का उपयोग नियंत्रकों में जो परिणाम रेल 3.2.3 के साथ। मैं rails d scaffold_controller ActiveDns का उपयोग कर प्रयासों के बीच फ़ाइलों को हटा रहा हूं।

ऐसा करने का सही तरीका क्या है?

+2

इसके बजाय गलत फ़ाइलों को मैन्युअल हटाने की, आप भी सिर्फ 'रेल scaffold_controller नष्ट कर सकते हैं ActiveDns' –

उत्तर

14

ऐसा करने का सही तरीका क्या है?

मैं inflectionsdocument अनगिनत इकाइयों का उपयोग करता हूं।

config/initializers/inflections.rb

ActiveSupport::Inflector.inflections do |inflect| 
    inflect.uncountable "ActiveDns" 
end 

तो आपको मिलेगा:

$ rails g scaffold_controller ActiveDns 
     create app/controllers/active_dns_controller.rb 
     invoke erb 
     create app/views/active_dns 
     create app/views/active_dns/index.html.erb 
     create app/views/active_dns/edit.html.erb 
     create app/views/active_dns/show.html.erb 
     create app/views/active_dns/new.html.erb 
     create app/views/active_dns/_form.html.erb 
     invoke test_unit 
     create test/functional/active_dns_controller_test.rb 
     invoke helper 
     create app/helpers/active_dns_helper.rb 
     invoke test_unit 
     create  test/unit/helpers/active_dns_helper_test.rb 

इस जैसे आप चाहते हैं है?

11

मैं के साथ परीक्षण किया रेल-3.2 (मुझे लगता है कि यह रेल-3.x साथ काम करना चाहिए)

अपने config/initializers/inflections.rb खोलें और एक नियम जोड़ने:

ActiveSupport::Inflector.inflections do |inflect| 
    inflect.irregular 'dns', 'dnses' 
end 

और नियंत्रक उत्पन्न

rails g scaffold_controller ActiveDns 

और अपने config/routes.rb फाइल करने के लिए रूट जोड़ें

resources :active_dnses 

तो फिर तुम देखना चाहिए:

$ rake routes 

    active_dnses GET /active_dnses(.:format)   active_dnses#index 
       POST /active_dnses(.:format)   active_dnses#create 
new_active_dns GET /active_dnses/new(.:format)  active_dnses#new 
edit_active_dns GET /active_dnses/:id/edit(.:format) active_dnses#edit 
    active_dns GET /active_dnses/:id(.:format)  active_dnses#show 
       PUT /active_dnses/:id(.:format)  active_dnses#update 
       DELETE /active_dnses/:id(.:format)  active_dnses#destroy 
+0

रेल 4.2.1 के साथ मेरे लिए ठीक काम करता है –