2012-03-14 9 views
5

मैंने अपने प्रोजेक्ट पर एक उपयोगकर्ता के पासवर्ड को रीसेट करने के लिए एक सिस्टम जोड़ा और उसे भूलने के मामले में उसे ईमेल के माध्यम से भेज दिया। यह कल ठीक काम कर रहा था (जब मैंने इसे लागू किया)। जब मैंने आज सर्वर को आग लगाने की कोशिश की, तो मुझे निम्न त्रुटि मिली।रेल में एक्शनमेलर में अपरिभाषित विधि 'default_content_type =' 3.2.1

=> Booting WEBrick 
=> Rails 3.2.1 application starting in development on http://0.0.0.0:3000 
=> Call with -d to detach 
=> Ctrl-C to shutdown server 
Exiting 
/Users/vinayshenoy/.rvm/gems/ruby-1.9.3-p0/gems/actionmailer-3.2.1/lib/action_mailer/base.rb:437:in `method_missing': undefined method `default_content_type=' for ActionMailer::Base:Class (NoMethodError) 
from /Users/vinayshenoy/flo-server/config/environment.rb:7:in `<top (required)>' 
from /Users/vinayshenoy/flo-server/config.ru:4:in `require' 
from /Users/vinayshenoy/flo-server/config.ru:4:in `block in <main>' 
from /Users/vinayshenoy/.rvm/gems/ruby-1.9.3-p0/gems/rack-1.4.1/lib/rack/builder.rb:51:in `instance_eval' 
from /Users/vinayshenoy/.rvm/gems/ruby-1.9.3-p0/gems/rack-1.4.1/lib/rack/builder.rb:51:in `initialize' 
from /Users/vinayshenoy/flo-server/config.ru:1:in `new' 
from /Users/vinayshenoy/flo-server/config.ru:1:in `<main>' 
from /Users/vinayshenoy/.rvm/gems/ruby-1.9.3-p0/gems/rack-1.4.1/lib/rack/builder.rb:40:in `eval' 
from /Users/vinayshenoy/.rvm/gems/ruby-1.9.3-p0/gems/rack-1.4.1/lib/rack/builder.rb:40:in `parse_file' 
from /Users/vinayshenoy/.rvm/gems/ruby-1.9.3-p0/gems/rack-1.4.1/lib/rack/server.rb:200:in `app' 
from /Users/vinayshenoy/.rvm/gems/ruby-1.9.3-p0/gems/railties-3.2.1/lib/rails/commands/server.rb:46:in `app' 
from /Users/vinayshenoy/.rvm/gems/ruby-1.9.3-p0/gems/rack-1.4.1/lib/rack/server.rb:301:in `wrapped_app' 
from /Users/vinayshenoy/.rvm/gems/ruby-1.9.3-p0/gems/rack-1.4.1/lib/rack/server.rb:252:in `start' 
from /Users/vinayshenoy/.rvm/gems/ruby-1.9.3-p0/gems/railties-3.2.1/lib/rails/commands/server.rb:70:in `start' 
from /Users/vinayshenoy/.rvm/gems/ruby-1.9.3-p0/gems/railties-3.2.1/lib/rails/commands.rb:55:in `block in <top (required)>' 
from /Users/vinayshenoy/.rvm/gems/ruby-1.9.3-p0/gems/railties-3.2.1/lib/rails/commands.rb:50:in `tap' 
from /Users/vinayshenoy/.rvm/gems/ruby-1.9.3-p0/gems/railties-3.2.1/lib/rails/commands.rb:50:in `<top (required)>' 
from script/rails:6:in `require' 
from script/rails:6:in `<main>' 

यह मेरा config/environment.rb फ़ाइल

# Load the rails application 
require File.expand_path('../application', __FILE__) 

# Initialize the rails application 
FloServer::Application.initialize! 

ActionMailer::Base.default_content_type = "text/html" 

अगर मैं बाहर टिप्पणी ActionMailer::Base.default_content_type = "text/html" लाइन, सर्वर किसी भी समस्या के बिना काम करता है। लेकिन इसके बिना, मैं ईमेल नहीं भेज सकता।

मैं कल

config.action_mailer.delivery_method = :smtp 
config.action_mailer.smtp_settings = { 
:address    => "smtp.gmail.com", 
:port     => 587, 
:user_name   => 'username', 
:password    => 'password', 
:authentication  => 'plain', 
:enable_starttls_auto => true } 

मैं पुन: प्रारंभ करने की कोशिश की है मैक config/वातावरण/development.rb फ़ाइल को यह कहा, "बंडल अद्यतन" चल रहा है और किसी भी परिणाम के बिना रेल फिर से स्थापित करने।

मैं रूबी 1.9.3 पर रेल 3.2.1 का उपयोग कर रहा हूं। कृपया मदद करे।

+0

default_content_type जरूरत नहीं है। जब आप ईमेल भेजने का प्रयास करते हैं तो आपको क्या त्रुटि मिलती है? साथ ही, क्या आपके पास भेजने के लिए ईमेल के लिए उचित दृश्य एक्सटेंशन हैं। (action.format.template) – AMIT

+0

मैंने इस सवाल में उल्लेख किया है कि पूरी प्रणाली कल ठीक काम कर रही थी। और जब तक मैंने उस लाइन को पर्यावरण.आरबी में जोड़ा, तब तक यह ईमेल नहीं भेज रहा था। मैंने HTML के लिए दृश्य एक्सटेंशन बनाए हैं लेकिन टेक्स्ट नहीं। –

उत्तर

8

आप कोशिश कर सकते हैं

ActionMailer::Base.default :content_type => "text/html" 
+0

यह काम किया! धन्यवाद! जिज्ञासा से, कोई विचार क्यों कल की लाइन कल काम कर रही थी, लेकिन आज नहीं? –

+1

@VinaySShenoy: सर्वर को पुनरारंभ होने तक कॉन्फ़िगरेशन विकल्प तब तक नहीं पढ़े जाते हैं; आप शायद कल इसे चलाना चाहते थे, लेकिन इसे आज पुनरारंभ करना पड़ा, और जब बदल गई कॉन्फ़िगरेशन – fakeleft

+0

पढ़ी गई तो मुझे यह समस्या भी थोड़ी अलग है इसलिए मैंने आपको एक नया प्रश्न पूछने के बजाय यहां पूछने का फैसला किया। मेरी परियोजना का अलग-अलग यह है कि मैं इसे पर्यावरण में जोड़ता हूं। आरबी: ** config.action_mailer.delivery_method =: smtp | : sendmail | : परीक्षण ** मैं इसे कैसे संभाल सकता हूं? (धन्यवाद!) –

संबंधित मुद्दे