Hi Guys, I am having some issues with ActionMailer in a new project I am working on. I am getting the following message: "Due to changes in ActionMailer you need to provide the mailer_name as well as the template name" That seemed simple enough, but it doesn''t work. The problem I see is similar to this: http://groups.google.com/group/rubyonrails-talk/browse_thread/thread/517ff90aa97a11a2/b89fef43b89c3e51?lnk=gst&q=render_message#b89fef43b89c3e51 I am also using Acts_As_Authenticated. I have tried commenting out the rails_gem_version as suggested in the above post. When I create an email using body "some text goes here" I get the email fine. So I tried to render the email using: render "user_notifier/signup_notification" I get the following error can''t convert Symbol into String *************trace log************* c:/ruby/lib/ruby/gems/1.8/gems/actionmailer-2.0.2/lib/action_mailer/ base.rb:498:in `delete'' c:/ruby/lib/ruby/gems/1.8/gems/actionmailer-2.0.2/lib/action_mailer/ base.rb:498:in `render'' app/models/user_notifier.rb:7:in `signup_notification'' c:/ruby/lib/ruby/gems/1.8/gems/actionmailer-2.0.2/lib/action_mailer/ base.rb:410:in `__send__'' c:/ruby/lib/ruby/gems/1.8/gems/actionmailer-2.0.2/lib/action_mailer/ base.rb:410:in `create!'' c:/ruby/lib/ruby/gems/1.8/gems/actionmailer-2.0.2/lib/action_mailer/ base.rb:403:in `initialize'' c:/ruby/lib/ruby/gems/1.8/gems/actionmailer-2.0.2/lib/action_mailer/ base.rb:352:in `new'' c:/ruby/lib/ruby/gems/1.8/gems/actionmailer-2.0.2/lib/action_mailer/ base.rb:352:in `method_missing'' app/models/user_observer.rb:5:in `after_create'' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/ observer.rb:157:in `send'' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/ observer.rb:157:in `update'' c:/ruby/lib/ruby/1.8/observer.rb:185:in `notify_observers'' c:/ruby/lib/ruby/1.8/observer.rb:184:in `each'' c:/ruby/lib/ruby/1.8/observer.rb:184:in `notify_observers'' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/ callbacks.rb:338:in `notify'' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/ callbacks.rb:302:in `callback'' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/ callbacks.rb:227:in `create_without_timestamps'' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/ timestamp.rb:29:in `create'' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/ base.rb:2238:in `create_or_update_without_callbacks'' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/ callbacks.rb:213:in `create_or_update'' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/ base.rb:1972:in `save_without_validation'' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/ validations.rb:934:in `save_without_transactions'' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/ transactions.rb:108:in `save'' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/ connection_adapters/abstract/database_statements.rb:66:in `transaction'' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/ transactions.rb:80:in `transaction'' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/ transactions.rb:100:in `transaction'' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/ transactions.rb:108:in `save'' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/ transactions.rb:120:in `rollback_active_record_state!'' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/ transactions.rb:108:in `save'' app/controllers/user_controller.rb:22:in `create'' vendor/plugins/streamlined/lib/streamlined/controller/callbacks.rb: 16:in `execute'' vendor/plugins/streamlined/lib/streamlined/controller/callbacks.rb: 20:in `execute_before_create_and_yield'' app/controllers/user_controller.rb:22:in `create'' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/ base.rb:1158:in `send'' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/ base.rb:1158:in `perform_action_without_filters'' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/ filters.rb:697:in `call_filters'' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/ filters.rb:689:in `perform_action_without_benchmark'' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/ benchmarking.rb:68:in `perform_action_without_rescue'' c:/ruby/lib/ruby/1.8/benchmark.rb:293:in `measure'' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/ benchmarking.rb:68:in `perform_action_without_rescue'' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/ rescue.rb:199:in `perform_action_without_caching'' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/ caching.rb:678:in `perform_action'' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/ connection_adapters/abstract/query_cache.rb:33:in `cache'' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/ query_cache.rb:8:in `cache'' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/ caching.rb:677:in `perform_action'' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/ base.rb:524:in `send'' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/ base.rb:524:in `process_without_filters'' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/ filters.rb:685:in `process_without_session_management_support'' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/ session_management.rb:123:in `process'' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/ base.rb:388:in `process'' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/ dispatcher.rb:171:in `handle_request'' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/ dispatcher.rb:115:in `dispatch'' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/ dispatcher.rb:126:in `dispatch_cgi'' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/ dispatcher.rb:9:in `dispatch'' c:/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/webrick_server.rb: 112:in `handle_dispatch'' c:/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/webrick_server.rb:78:in `service'' c:/ruby/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'' c:/ruby/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'' c:/ruby/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'' c:/ruby/lib/ruby/1.8/webrick/server.rb:162:in `start'' c:/ruby/lib/ruby/1.8/webrick/server.rb:162:in `start_thread'' c:/ruby/lib/ruby/1.8/webrick/server.rb:95:in `start'' c:/ruby/lib/ruby/1.8/webrick/server.rb:92:in `each'' c:/ruby/lib/ruby/1.8/webrick/server.rb:92:in `start'' c:/ruby/lib/ruby/1.8/webrick/server.rb:23:in `start'' c:/ruby/lib/ruby/1.8/webrick/server.rb:82:in `start'' c:/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/webrick_server.rb:62:in `dispatch'' c:/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/commands/servers/ webrick.rb:66 c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require'' c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'' c:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.0.2/lib/active_support/ dependencies.rb:496:in `require'' c:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.0.2/lib/active_support/ dependencies.rb:342:in `new_constants_in'' c:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.0.2/lib/active_support/ dependencies.rb:496:in `require'' c:/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/commands/server.rb:39 c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require'' c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'' script/server:3 ***** end trace******* If I try using render :file=>"user_notifier/signup_notification" I get the following error can''t dup NilClass ********* trace log *********** c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_view/ template_error.rb:11:in `dup'' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_view/ template_error.rb:11:in `initialize'' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_view/ base.rb:322:in `new'' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_view/ base.rb:322:in `render_file'' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_view/ base.rb:348:in `render_without_streamlined'' vendor/plugins/streamlined/lib/streamlined/view/render_methods.rb: 24:in `render'' c:/ruby/lib/ruby/gems/1.8/gems/actionmailer-2.0.2/lib/action_mailer/ base.rb:502:in `render'' app/models/user_notifier.rb:7:in `signup_notification'' c:/ruby/lib/ruby/gems/1.8/gems/actionmailer-2.0.2/lib/action_mailer/ base.rb:410:in `__send__'' c:/ruby/lib/ruby/gems/1.8/gems/actionmailer-2.0.2/lib/action_mailer/ base.rb:410:in `create!'' c:/ruby/lib/ruby/gems/1.8/gems/actionmailer-2.0.2/lib/action_mailer/ base.rb:403:in `initialize'' c:/ruby/lib/ruby/gems/1.8/gems/actionmailer-2.0.2/lib/action_mailer/ base.rb:352:in `new'' c:/ruby/lib/ruby/gems/1.8/gems/actionmailer-2.0.2/lib/action_mailer/ base.rb:352:in `method_missing'' app/models/user_observer.rb:5:in `after_create'' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/ observer.rb:157:in `send'' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/ observer.rb:157:in `update'' c:/ruby/lib/ruby/1.8/observer.rb:185:in `notify_observers'' c:/ruby/lib/ruby/1.8/observer.rb:184:in `each'' c:/ruby/lib/ruby/1.8/observer.rb:184:in `notify_observers'' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/ callbacks.rb:338:in `notify'' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/ callbacks.rb:302:in `callback'' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/ callbacks.rb:227:in `create_without_timestamps'' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/ timestamp.rb:29:in `create'' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/ base.rb:2238:in `create_or_update_without_callbacks'' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/ callbacks.rb:213:in `create_or_update'' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/ base.rb:1972:in `save_without_validation'' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/ validations.rb:934:in `save_without_transactions'' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/ transactions.rb:108:in `save'' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/ connection_adapters/abstract/database_statements.rb:66:in `transaction'' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/ transactions.rb:80:in `transaction'' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/ transactions.rb:100:in `transaction'' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/ transactions.rb:108:in `save'' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/ transactions.rb:120:in `rollback_active_record_state!'' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/ transactions.rb:108:in `save'' app/controllers/user_controller.rb:22:in `create'' vendor/plugins/streamlined/lib/streamlined/controller/callbacks.rb: 16:in `execute'' vendor/plugins/streamlined/lib/streamlined/controller/callbacks.rb: 20:in `execute_before_create_and_yield'' app/controllers/user_controller.rb:22:in `create'' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/ base.rb:1158:in `send'' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/ base.rb:1158:in `perform_action_without_filters'' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/ filters.rb:697:in `call_filters'' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/ filters.rb:689:in `perform_action_without_benchmark'' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/ benchmarking.rb:68:in `perform_action_without_rescue'' c:/ruby/lib/ruby/1.8/benchmark.rb:293:in `measure'' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/ benchmarking.rb:68:in `perform_action_without_rescue'' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/ rescue.rb:199:in `perform_action_without_caching'' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/ caching.rb:678:in `perform_action'' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/ connection_adapters/abstract/query_cache.rb:33:in `cache'' c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/ query_cache.rb:8:in `cache'' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/ caching.rb:677:in `perform_action'' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/ base.rb:524:in `send'' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/ base.rb:524:in `process_without_filters'' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/ filters.rb:685:in `process_without_session_management_support'' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/ session_management.rb:123:in `process'' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/ base.rb:388:in `process'' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/ dispatcher.rb:171:in `handle_request'' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/ dispatcher.rb:115:in `dispatch'' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/ dispatcher.rb:126:in `dispatch_cgi'' c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/ dispatcher.rb:9:in `dispatch'' c:/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/webrick_server.rb: 112:in `handle_dispatch'' c:/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/webrick_server.rb:78:in `service'' c:/ruby/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'' c:/ruby/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'' c:/ruby/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'' c:/ruby/lib/ruby/1.8/webrick/server.rb:162:in `start'' c:/ruby/lib/ruby/1.8/webrick/server.rb:162:in `start_thread'' c:/ruby/lib/ruby/1.8/webrick/server.rb:95:in `start'' c:/ruby/lib/ruby/1.8/webrick/server.rb:92:in `each'' c:/ruby/lib/ruby/1.8/webrick/server.rb:92:in `start'' c:/ruby/lib/ruby/1.8/webrick/server.rb:23:in `start'' c:/ruby/lib/ruby/1.8/webrick/server.rb:82:in `start'' c:/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/webrick_server.rb:62:in `dispatch'' c:/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/commands/servers/ webrick.rb:66 c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require'' c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'' c:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.0.2/lib/active_support/ dependencies.rb:496:in `require'' c:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.0.2/lib/active_support/ dependencies.rb:342:in `new_constants_in'' c:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.0.2/lib/active_support/ dependencies.rb:496:in `require'' c:/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2/lib/commands/server.rb:39 c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require'' c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'' script/server:3 ********end trace*************** I''m not even sure where to look to solve this one. If any further info is needed (code etc) please let me know. I didn''t want to make the post too massive. Your help is much appreciated. ~Ben --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
On 6 May 2008, at 01:17, BenL wrote:> > Hi Guys, > > I am having some issues with ActionMailer in a new project I am > working on. > I am getting the following message: > "Due to changes in ActionMailer you need to provide the mailer_name as > well as the template name" > That seemed simple enough, but it doesn''t work. > > The problem I see is similar to this: > http://groups.google.com/group/rubyonrails-talk/browse_thread/thread/517ff90aa97a11a2/b89fef43b89c3e51?lnk=gst&q=render_message#b89fef43b89c3e51 > > I am also using Acts_As_Authenticated. > I have tried commenting out the rails_gem_version as suggested in the > above post. > > When I create an email using > body "some text goes here" > I get the email fine. > > So I tried to render the email using: > render "user_notifier/signup_notification" > I get the following error > can''t convert Symbol into Stringrender in ActionMailer isn''t quite like in a controller, you have to pass in a hash of options. It''s also private so you shouldn''t be calling really. If you want to change the template rendered stick template ''some_other_template'' in your mailer method. if you need to change the directory in which it looks then I believe you need to use mailer_name ie class SomeMailer < ActionMailer::Base mailer_name ''foo_mailer'' def something template ''bar'' end end will render foo_mailer/bar Fred --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Thanks for the feedback Fred, Just to clarify, I am not trying to render a template in a different folder (everything is in the "as expected" folders). When I don''t have a render specified, I get the "need to specify the mailer_name" error. So In Summary: views/user_notifier/signup_notification.erb is the render file models/user_notifier.rb is the ActionMailer class (Class UserNotifier) In regards to your suggestions the code is now as follows (for the mailer class): class UserNotifier < ActionMailer::Base mailer_name "user_notifier" def signup_notification(user) setup_email(user) template "signup_notification" end <snip> end Any Thoughts? Thanks ~Ben --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Gah! I forgot to paste the error message. It is: wrong number of arguments (1 for 0) app/models/user_notifier.rb:5:in `mailer_name'' app/models/user_notifier.rb:5 app/models/user_observer.rb:5:in `after_create'' app/controllers/user_controller.rb:22:in `create'' app/controllers/user_controller.rb:22:in `create'' ~Ben --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Hi All, I tried setting the mailer_name using: mailer_name="user_notifier" I now am back to the start - getting the error "Due to changes in ActionMailer, you need to provide the mailer_name along with the template name" Any Ideas? Thanks ~Ben --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
I am getting the same error. I tried to change the directory to another invalid one.. sure enough it raised an error saying the template could not be found. But I cannot get past the "can''t dup NilClass " error here''s my model code class BalUserNotify < ActionMailer::Base mailer_name=''bal_user_notify'' def change_password(bal_user, password, url=nil) setup_email(bal_user) # Email header info @subject += "Changed password notification" # Email body substitutions body[:name] = "#{bal_user.firstname} #{bal_user.lastname}" body[:login] = bal_user.login body[:password] = password body[:url] = url || BalUserSystem::CONFIG[:app_url].to_s body[:app_name] = BalUserSystem::CONFIG[:app_name].to_s render :file => ''bal_user_notify/change_password'' end .... def setup_email(bal_user) @recipients = "#{bal_user.email}" @from = BalUserSystem::CONFIG[:email_from].to_s @subject = "[#{BalUserSystem::CONFIG[:app_name]}] " @sent_on = Time.now @headers[''Content-Type''] = "text/plain; charset=#{BalUserSystem::CONFIG[:mail_charset]}; format=flowed" end end has anybody successfully upgraded to rails 2.0 and succeeded with converting the mailer models/views? here''s the stack errors too C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_view/ template_error.rb:11:in `dup'' C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_view/ template_error.rb:11:in `initialize'' C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_view/ base.rb:322:in `new'' C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_view/ base.rb:322:in `render_file'' C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_view/ base.rb:348:in `render'' C:/ruby/lib/ruby/gems/1.8/gems/actionmailer-2.0.2/lib/action_mailer/ base.rb:502:in `render'' app/models/bal_user_notify.rb:72:in `change_password'' On May 12, 8:59 pm, BenL <b...-IK0oVAmnrw8tTQILM+e4JAC/G2K4zDHf@public.gmane.org> wrote:> Hi All, > > I tried setting the mailer_name using: > mailer_name="user_notifier" > > I now am back to the start - getting the error > "Due to changes in ActionMailer, you need to provide the mailer_name > along with the template name" > > Any Ideas? > Thanks > ~Ben--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
On 27 May 2008, at 05:27, Ethan wrote:> > I am getting the same error. I tried to change the directory to > another invalid one.. sure enough it raised an error saying the > template could not be found. But I cannot get past the "can''t dup > NilClass " errorIn actionmailer render is private. Don''t call it (besides, you''re rendering the default so it''s completely superfluous) Fre> > > here''s my model code > > class BalUserNotify < ActionMailer::Base > mailer_name=''bal_user_notify'' > def change_password(bal_user, password, url=nil) > setup_email(bal_user) > > # Email header info > @subject += "Changed password notification" > > # Email body substitutions > > body[:name] = "#{bal_user.firstname} #{bal_user.lastname}" > body[:login] = bal_user.login > body[:password] = password > body[:url] = url || BalUserSystem::CONFIG[:app_url].to_s > body[:app_name] = BalUserSystem::CONFIG[:app_name].to_s > > render :file => ''bal_user_notify/change_password'' > end > .... > > def setup_email(bal_user) > @recipients = "#{bal_user.email}" > @from = BalUserSystem::CONFIG[:email_from].to_s > @subject = "[#{BalUserSystem::CONFIG[:app_name]}] " > @sent_on = Time.now > @headers[''Content-Type''] = "text/plain; > charset=#{BalUserSystem::CONFIG[:mail_charset]}; format=flowed" > end > end > > has anybody successfully upgraded to rails 2.0 and succeeded with > converting the mailer models/views? > > here''s the stack errors too > > C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_view/ > template_error.rb:11:in `dup'' > C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_view/ > template_error.rb:11:in `initialize'' > C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_view/ > base.rb:322:in `new'' > C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_view/ > base.rb:322:in `render_file'' > C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_view/ > base.rb:348:in `render'' > C:/ruby/lib/ruby/gems/1.8/gems/actionmailer-2.0.2/lib/action_mailer/ > base.rb:502:in `render'' > app/models/bal_user_notify.rb:72:in `change_password'' > > > > On May 12, 8:59 pm, BenL <b...-IK0oVAmnrw8tTQILM+e4JAC/G2K4zDHf@public.gmane.org> wrote: >> Hi All, >> >> I tried setting the mailer_name using: >> mailer_name="user_notifier" >> >> I now am back to the start - getting the error >> "Due to changes in ActionMailer, you need to provide the mailer_name >> along with the template name" >> >> Any Ideas? >> Thanks >> ~Ben > > >--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
when i remove that line i am back to this line Due to changes in ActionMailer, you need to provide the mailer_name along with the template name. render "user_mailer/signup" render :file => "user_mailer/signup" If you are rendering a subtemplate, you must now use controller-like partial syntax: render :partial => ''signup'' # no mailer_name necessary On Tue, May 27, 2008 at 4:25 AM, Frederick Cheung < frederick.cheung-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> > > On 27 May 2008, at 05:27, Ethan wrote: > > > > > I am getting the same error. I tried to change the directory to > > another invalid one.. sure enough it raised an error saying the > > template could not be found. But I cannot get past the "can''t dup > > NilClass " error > In actionmailer render is private. Don''t call it (besides, you''re > rendering the default so it''s completely superfluous) > > Fre > > > > > > > > > here''s my model code > > > > class BalUserNotify < ActionMailer::Base > > mailer_name=''bal_user_notify'' > > def change_password(bal_user, password, url=nil) > > setup_email(bal_user) > > > > # Email header info > > @subject += "Changed password notification" > > > > # Email body substitutions > > > > body[:name] = "#{bal_user.firstname} #{bal_user.lastname}" > > body[:login] = bal_user.login > > body[:password] = password > > body[:url] = url || BalUserSystem::CONFIG[:app_url].to_s > > body[:app_name] = BalUserSystem::CONFIG[:app_name].to_s > > > > render :file => ''bal_user_notify/change_password'' > > end > > .... > > > > def setup_email(bal_user) > > @recipients = "#{bal_user.email}" > > @from = BalUserSystem::CONFIG[:email_from].to_s > > @subject = "[#{BalUserSystem::CONFIG[:app_name]}] " > > @sent_on = Time.now > > @headers[''Content-Type''] = "text/plain; > > charset=#{BalUserSystem::CONFIG[:mail_charset]}; format=flowed" > > end > > end > > > > has anybody successfully upgraded to rails 2.0 and succeeded with > > converting the mailer models/views? > > > > here''s the stack errors too > > > > C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_view/ > > template_error.rb:11:in `dup'' > > C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_view/ > > template_error.rb:11:in `initialize'' > > C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_view/ > > base.rb:322:in `new'' > > C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_view/ > > base.rb:322:in `render_file'' > > C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_view/ > > base.rb:348:in `render'' > > C:/ruby/lib/ruby/gems/1.8/gems/actionmailer-2.0.2/lib/action_mailer/ > > base.rb:502:in `render'' > > app/models/bal_user_notify.rb:72:in `change_password'' > > > > > > > > On May 12, 8:59 pm, BenL <b...-IK0oVAmnrw8tTQILM+e4JAC/G2K4zDHf@public.gmane.org> wrote: > >> Hi All, > >> > >> I tried setting the mailer_name using: > >> mailer_name="user_notifier" > >> > >> I now am back to the start - getting the error > >> "Due to changes in ActionMailer, you need to provide the mailer_name > >> along with the template name" > >> > >> Any Ideas? > >> Thanks > >> ~Ben > > > > > > > > > >--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
On 27 May 2008, at 14:24, Ethan Otterlei wrote:> when i remove that line i am back to this line >your mailer_name = should be self.mailer_name = ''foo'' or mailer_name ''foo'' (mailer_name = ''foo'' just creates a local variable) If you are going to call render yourself, you need to give it a body option (the set of assigns, eg :body => {:name => ''Bob''}, or in your case :body => body since you have built that.) Fred> Due to changes in ActionMailer, you need to provide the mailer_name > along with the template name. > > render "user_mailer/signup" > render :file => "user_mailer/signup" > > > If you are rendering a subtemplate, you must now use controller-like > partial syntax: > > render :partial => ''signup'' # no mailer_name necessary > > > On Tue, May 27, 2008 at 4:25 AM, Frederick Cheung <frederick.cheung-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org > > wrote: > > > On 27 May 2008, at 05:27, Ethan wrote: > > > > > I am getting the same error. I tried to change the directory to > > another invalid one.. sure enough it raised an error saying the > > template could not be found. But I cannot get past the "can''t dup > > NilClass " error > In actionmailer render is private. Don''t call it (besides, you''re > rendering the default so it''s completely superfluous) > > Fre > > > > > > > > > here''s my model code > > > > class BalUserNotify < ActionMailer::Base > > mailer_name=''bal_user_notify'' > > def change_password(bal_user, password, url=nil) > > setup_email(bal_user) > > > > # Email header info > > @subject += "Changed password notification" > > > > # Email body substitutions > > > > body[:name] = "#{bal_user.firstname} #{bal_user.lastname}" > > body[:login] = bal_user.login > > body[:password] = password > > body[:url] = url || BalUserSystem::CONFIG[:app_url].to_s > > body[:app_name] = BalUserSystem::CONFIG[:app_name].to_s > > > > render :file => ''bal_user_notify/change_password'' > > end > > .... > > > > def setup_email(bal_user) > > @recipients = "#{bal_user.email}" > > @from = BalUserSystem::CONFIG[:email_from].to_s > > @subject = "[#{BalUserSystem::CONFIG[:app_name]}] " > > @sent_on = Time.now > > @headers[''Content-Type''] = "text/plain; > > charset=#{BalUserSystem::CONFIG[:mail_charset]}; format=flowed" > > end > > end > > > > has anybody successfully upgraded to rails 2.0 and succeeded with > > converting the mailer models/views? > > > > here''s the stack errors too > > > > C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_view/ > > template_error.rb:11:in `dup'' > > C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_view/ > > template_error.rb:11:in `initialize'' > > C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_view/ > > base.rb:322:in `new'' > > C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_view/ > > base.rb:322:in `render_file'' > > C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_view/ > > base.rb:348:in `render'' > > C:/ruby/lib/ruby/gems/1.8/gems/actionmailer-2.0.2/lib/action_mailer/ > > base.rb:502:in `render'' > > app/models/bal_user_notify.rb:72:in `change_password'' > > > > > > > > On May 12, 8:59 pm, BenL <b...-IK0oVAmnrw8tTQILM+e4JAC/G2K4zDHf@public.gmane.org> wrote: > >> Hi All, > >> > >> I tried setting the mailer_name using: > >> mailer_name="user_notifier" > >> > >> I now am back to the start - getting the error > >> "Due to changes in ActionMailer, you need to provide the > mailer_name > >> along with the template name" > >> > >> Any Ideas? > >> Thanks > >> ~Ben > > > > > > > > > > > >--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Ok, i have changed the mailer_name = "foo" to self.mailer_name "bal_user_notify" and the class/function to class BalUserNotify < ActionMailer::Base self.mailer_name=''bal_user_notify'' def change_password(bal_user, password, url=nil) setup_email(bal_user) # Email body substitutions body[:name] = "#{bal_user.firstname} #{bal_user.lastname}" body[:login] = bal_user.login body[:password] = password body[:url] = url || BalUserSystem::CONFIG[:app_url].to_s body[:app_name] = BalUserSystem::CONFIG[:app_name].to_s render :file => ''bal_user_notify/change_password'', :body=>body end end I am still getting this error. Due to changes in ActionMailer, you need to provide the mailer_name along with the template name. render "user_mailer/signup" render :file => "user_mailer/signup" If you are rendering a subtemplate, you must now use controller-like partial syntax: render :partial => ''signup'' # no mailer_name necessary On Tue, May 27, 2008 at 8:44 AM, Frederick Cheung < frederick.cheung-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> > > On 27 May 2008, at 14:24, Ethan Otterlei wrote: > > > when i remove that line i am back to this line > > > > your mailer_name = should be self.mailer_name = ''foo'' or mailer_name > ''foo'' (mailer_name = ''foo'' just creates a local variable) > > If you are going to call render yourself, you need to give it a body > option (the set of assigns, eg :body => {:name => ''Bob''}, or in your > case :body => body since you have built that.) > > Fred > > Due to changes in ActionMailer, you need to provide the mailer_name > > along with the template name. > > > > render "user_mailer/signup" > > render :file => "user_mailer/signup" > > > > > > If you are rendering a subtemplate, you must now use controller-like > > partial syntax: > > > > render :partial => ''signup'' # no mailer_name necessary > > > > > > On Tue, May 27, 2008 at 4:25 AM, Frederick Cheung < > frederick.cheung-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org > > > wrote: > > > > > > On 27 May 2008, at 05:27, Ethan wrote: > > > > > > > > I am getting the same error. I tried to change the directory to > > > another invalid one.. sure enough it raised an error saying the > > > template could not be found. But I cannot get past the "can''t dup > > > NilClass " error > > In actionmailer render is private. Don''t call it (besides, you''re > > rendering the default so it''s completely superfluous) > > > > Fre > > > > > > > > > > > > > > > here''s my model code > > > > > > class BalUserNotify < ActionMailer::Base > > > mailer_name=''bal_user_notify'' > > > def change_password(bal_user, password, url=nil) > > > setup_email(bal_user) > > > > > > # Email header info > > > @subject += "Changed password notification" > > > > > > # Email body substitutions > > > > > > body[:name] = "#{bal_user.firstname} #{bal_user.lastname}" > > > body[:login] = bal_user.login > > > body[:password] = password > > > body[:url] = url || BalUserSystem::CONFIG[:app_url].to_s > > > body[:app_name] = BalUserSystem::CONFIG[:app_name].to_s > > > > > > render :file => ''bal_user_notify/change_password'' > > > end > > > .... > > > > > > def setup_email(bal_user) > > > @recipients = "#{bal_user.email}" > > > @from = BalUserSystem::CONFIG[:email_from].to_s > > > @subject = "[#{BalUserSystem::CONFIG[:app_name]}] " > > > @sent_on = Time.now > > > @headers[''Content-Type''] = "text/plain; > > > charset=#{BalUserSystem::CONFIG[:mail_charset]}; format=flowed" > > > end > > > end > > > > > > has anybody successfully upgraded to rails 2.0 and succeeded with > > > converting the mailer models/views? > > > > > > here''s the stack errors too > > > > > > C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_view/ > > > template_error.rb:11:in `dup'' > > > C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_view/ > > > template_error.rb:11:in `initialize'' > > > C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_view/ > > > base.rb:322:in `new'' > > > C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_view/ > > > base.rb:322:in `render_file'' > > > C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_view/ > > > base.rb:348:in `render'' > > > C:/ruby/lib/ruby/gems/1.8/gems/actionmailer-2.0.2/lib/action_mailer/ > > > base.rb:502:in `render'' > > > app/models/bal_user_notify.rb:72:in `change_password'' > > > > > > > > > > > > On May 12, 8:59 pm, BenL <b...-IK0oVAmnrw8tTQILM+e4JAC/G2K4zDHf@public.gmane.org> wrote: > > >> Hi All, > > >> > > >> I tried setting the mailer_name using: > > >> mailer_name="user_notifier" > > >> > > >> I now am back to the start - getting the error > > >> "Due to changes in ActionMailer, you need to provide the > > mailer_name > > >> along with the template name" > > >> > > >> Any Ideas? > > >> Thanks > > >> ~Ben > > > > > > > > > > > > > > > > > > > > > > > > >--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
On 27 May 2008, at 15:09, Ethan Otterlei wrote:> Ok, i have changed the mailer_name = "foo" to self.mailer_name = > "bal_user_notify" >This isn''t making much sense - that error is only raised if there is no / in the file you are trying to render (which there is). and if everything is in the default place you shouldn''t need to do anything (i''ve got several mailers like that - no setting mailer_name, no calls to render). Might you have a plugin which is messing things up? Fred> and the class/function to > class BalUserNotify < ActionMailer::Base > self.mailer_name=''bal_user_notify'' > > def change_password(bal_user, password, url=nil) > setup_email(bal_user) > > # Email body substitutions > > body[:name] = "#{bal_user.firstname} #{bal_user.lastname}" > body[:login] = bal_user.login > body[:password] = password > body[:url] = url || BalUserSystem::CONFIG[:app_url].to_s > body[:app_name] = BalUserSystem::CONFIG[:app_name].to_s > > render :file => ''bal_user_notify/change_password'', :body=>body > end > end > > I am still getting this error. > > Due to changes in ActionMailer, you need to provide the mailer_name > along with the template name. > > render "user_mailer/signup" > render :file => "user_mailer/signup" > > > If you are rendering a subtemplate, you must now use controller-like > partial syntax: > > render :partial => ''signup'' # no mailer_name necessary > > > > On Tue, May 27, 2008 at 8:44 AM, Frederick Cheung <frederick.cheung-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org > > wrote: > > > On 27 May 2008, at 14:24, Ethan Otterlei wrote: > > > when i remove that line i am back to this line > > > > your mailer_name = should be self.mailer_name = ''foo'' or mailer_name > ''foo'' (mailer_name = ''foo'' just creates a local variable) > > If you are going to call render yourself, you need to give it a body > option (the set of assigns, eg :body => {:name => ''Bob''}, or in your > case :body => body since you have built that.) > > Fred > > Due to changes in ActionMailer, you need to provide the mailer_name > > along with the template name. > > > > render "user_mailer/signup" > > render :file => "user_mailer/signup" > > > > > > If you are rendering a subtemplate, you must now use controller-like > > partial syntax: > > > > render :partial => ''signup'' # no mailer_name necessary > > > > > > On Tue, May 27, 2008 at 4:25 AM, Frederick Cheung <frederick.cheung-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org > > > wrote: > > > > > > On 27 May 2008, at 05:27, Ethan wrote: > > > > > > > > I am getting the same error. I tried to change the directory to > > > another invalid one.. sure enough it raised an error saying the > > > template could not be found. But I cannot get past the "can''t dup > > > NilClass " error > > In actionmailer render is private. Don''t call it (besides, you''re > > rendering the default so it''s completely superfluous) > > > > Fre > > > > > > > > > > > > > > > here''s my model code > > > > > > class BalUserNotify < ActionMailer::Base > > > mailer_name=''bal_user_notify'' > > > def change_password(bal_user, password, url=nil) > > > setup_email(bal_user) > > > > > > # Email header info > > > @subject += "Changed password notification" > > > > > > # Email body substitutions > > > > > > body[:name] = "#{bal_user.firstname} #{bal_user.lastname}" > > > body[:login] = bal_user.login > > > body[:password] = password > > > body[:url] = url || BalUserSystem::CONFIG[:app_url].to_s > > > body[:app_name] = BalUserSystem::CONFIG[:app_name].to_s > > > > > > render :file => ''bal_user_notify/change_password'' > > > end > > > .... > > > > > > def setup_email(bal_user) > > > @recipients = "#{bal_user.email}" > > > @from = BalUserSystem::CONFIG[:email_from].to_s > > > @subject = "[#{BalUserSystem::CONFIG[:app_name]}] " > > > @sent_on = Time.now > > > @headers[''Content-Type''] = "text/plain; > > > charset=#{BalUserSystem::CONFIG[:mail_charset]}; format=flowed" > > > end > > > end > > > > > > has anybody successfully upgraded to rails 2.0 and succeeded with > > > converting the mailer models/views? > > > > > > here''s the stack errors too > > > > > > C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_view/ > > > template_error.rb:11:in `dup'' > > > C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_view/ > > > template_error.rb:11:in `initialize'' > > > C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_view/ > > > base.rb:322:in `new'' > > > C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_view/ > > > base.rb:322:in `render_file'' > > > C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_view/ > > > base.rb:348:in `render'' > > > C:/ruby/lib/ruby/gems/1.8/gems/actionmailer-2.0.2/lib/ > action_mailer/ > > > base.rb:502:in `render'' > > > app/models/bal_user_notify.rb:72:in `change_password'' > > > > > > > > > > > > On May 12, 8:59 pm, BenL <b...-IK0oVAmnrw8tTQILM+e4JAC/G2K4zDHf@public.gmane.org> wrote: > > >> Hi All, > > >> > > >> I tried setting the mailer_name using: > > >> mailer_name="user_notifier" > > >> > > >> I now am back to the start - getting the error > > >> "Due to changes in ActionMailer, you need to provide the > > mailer_name > > >> along with the template name" > > >> > > >> Any Ideas? > > >> Thanks > > >> ~Ben > > > > > > > > > > > > > > > > > > > > > > > > > > >--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
i found out that it was an issue with some localization functions that were a part of the SaltedLoginGenerator. I removed the localization files from being included and hard-coded the wording in the forms (since i am a 1-language site for now) and that worked. self.mailer_name="foo" and then no render lines in the methods thanks for your help! On Tue, May 27, 2008 at 9:22 AM, Frederick Cheung < frederick.cheung-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> > > On 27 May 2008, at 15:09, Ethan Otterlei wrote: > > > Ok, i have changed the mailer_name = "foo" to self.mailer_name > > "bal_user_notify" > > > This isn''t making much sense - that error is only raised if there is > no / in the file you are trying to render (which there is). and if > everything is in the default place you shouldn''t need to do anything > (i''ve got several mailers like that - no setting mailer_name, no calls > to render). Might you have a plugin which is messing things up? > > Fred > > and the class/function to > > class BalUserNotify < ActionMailer::Base > > self.mailer_name=''bal_user_notify'' > > > > def change_password(bal_user, password, url=nil) > > setup_email(bal_user) > > > > # Email body substitutions > > > > body[:name] = "#{bal_user.firstname} #{bal_user.lastname}" > > body[:login] = bal_user.login > > body[:password] = password > > body[:url] = url || BalUserSystem::CONFIG[:app_url].to_s > > body[:app_name] = BalUserSystem::CONFIG[:app_name].to_s > > > > render :file => ''bal_user_notify/change_password'', :body=>body > > end > > end > > > > I am still getting this error. > > > > Due to changes in ActionMailer, you need to provide the mailer_name > > along with the template name. > > > > render "user_mailer/signup" > > render :file => "user_mailer/signup" > > > > > > If you are rendering a subtemplate, you must now use controller-like > > partial syntax: > > > > render :partial => ''signup'' # no mailer_name necessary > > > > > > > > On Tue, May 27, 2008 at 8:44 AM, Frederick Cheung < > frederick.cheung-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org > > > wrote: > > > > > > On 27 May 2008, at 14:24, Ethan Otterlei wrote: > > > > > when i remove that line i am back to this line > > > > > > > your mailer_name = should be self.mailer_name = ''foo'' or mailer_name > > ''foo'' (mailer_name = ''foo'' just creates a local variable) > > > > If you are going to call render yourself, you need to give it a body > > option (the set of assigns, eg :body => {:name => ''Bob''}, or in your > > case :body => body since you have built that.) > > > > Fred > > > Due to changes in ActionMailer, you need to provide the mailer_name > > > along with the template name. > > > > > > render "user_mailer/signup" > > > render :file => "user_mailer/signup" > > > > > > > > > If you are rendering a subtemplate, you must now use controller-like > > > partial syntax: > > > > > > render :partial => ''signup'' # no mailer_name necessary > > > > > > > > > On Tue, May 27, 2008 at 4:25 AM, Frederick Cheung < > frederick.cheung-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org > > > > wrote: > > > > > > > > > On 27 May 2008, at 05:27, Ethan wrote: > > > > > > > > > > > I am getting the same error. I tried to change the directory to > > > > another invalid one.. sure enough it raised an error saying the > > > > template could not be found. But I cannot get past the "can''t dup > > > > NilClass " error > > > In actionmailer render is private. Don''t call it (besides, you''re > > > rendering the default so it''s completely superfluous) > > > > > > Fre > > > > > > > > > > > > > > > > > > > > > here''s my model code > > > > > > > > class BalUserNotify < ActionMailer::Base > > > > mailer_name=''bal_user_notify'' > > > > def change_password(bal_user, password, url=nil) > > > > setup_email(bal_user) > > > > > > > > # Email header info > > > > @subject += "Changed password notification" > > > > > > > > # Email body substitutions > > > > > > > > body[:name] = "#{bal_user.firstname} #{bal_user.lastname}" > > > > body[:login] = bal_user.login > > > > body[:password] = password > > > > body[:url] = url || BalUserSystem::CONFIG[:app_url].to_s > > > > body[:app_name] = BalUserSystem::CONFIG[:app_name].to_s > > > > > > > > render :file => ''bal_user_notify/change_password'' > > > > end > > > > .... > > > > > > > > def setup_email(bal_user) > > > > @recipients = "#{bal_user.email}" > > > > @from = BalUserSystem::CONFIG[:email_from].to_s > > > > @subject = "[#{BalUserSystem::CONFIG[:app_name]}] " > > > > @sent_on = Time.now > > > > @headers[''Content-Type''] = "text/plain; > > > > charset=#{BalUserSystem::CONFIG[:mail_charset]}; format=flowed" > > > > end > > > > end > > > > > > > > has anybody successfully upgraded to rails 2.0 and succeeded with > > > > converting the mailer models/views? > > > > > > > > here''s the stack errors too > > > > > > > > C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_view/ > > > > template_error.rb:11:in `dup'' > > > > C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_view/ > > > > template_error.rb:11:in `initialize'' > > > > C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_view/ > > > > base.rb:322:in `new'' > > > > C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_view/ > > > > base.rb:322:in `render_file'' > > > > C:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_view/ > > > > base.rb:348:in `render'' > > > > C:/ruby/lib/ruby/gems/1.8/gems/actionmailer-2.0.2/lib/ > > action_mailer/ > > > > base.rb:502:in `render'' > > > > app/models/bal_user_notify.rb:72:in `change_password'' > > > > > > > > > > > > > > > > On May 12, 8:59 pm, BenL <b...-IK0oVAmnrw8tTQILM+e4JAC/G2K4zDHf@public.gmane.org> wrote: > > > >> Hi All, > > > >> > > > >> I tried setting the mailer_name using: > > > >> mailer_name="user_notifier" > > > >> > > > >> I now am back to the start - getting the error > > > >> "Due to changes in ActionMailer, you need to provide the > > > mailer_name > > > >> along with the template name" > > > >> > > > >> Any Ideas? > > > >> Thanks > > > >> ~Ben > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
ben-IK0oVAmnrw8tTQILM+e4JAC/G2K4zDHf@public.gmane.org
2008-May-28 23:32 UTC
Re: Problems creating emails using ActionMailer
Hi Ethan, I am also running the salted login generator. Could you take me through what you did to remove the localization files? Your help would be much appreciated. ~Ben> i found out that it was an issue with some localization functions that > were > a part of the SaltedLoginGenerator. > > I removed the localization files from being included and hard-coded the > wording in the forms (since i am a 1-language site for now) and that > worked. > > self.mailer_name="foo" and then no render lines in the methods > > thanks for your help! > > On Tue, May 27, 2008 at 9:22 AM, Frederick Cheung < > frederick.cheung-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
One thing when i had them set up was in my environment.rb file there were 2 lines #require ''localization'' #Localization::load_localized_strings as you can see i commented them out. When you do this, your forms and logins will all work still but the issue now will be the localization strings in your forms will now show a variable name instead of the value. What I did was find all of these tags and replace them. form_helper input_helper message_helper title_helper basically doing a find of all *_helper in the .rhtml files and replacing with the wording/text I preferred. Since i am an english language only site it wasnt a big deal to me to have them hard coded. Hopefully it wont be too tedious for you. I hope that works for you. Let me know if you run into problems. Ethan On Wed, May 28, 2008 at 6:32 PM, <ben-IK0oVAmnrw8tTQILM+e4JAC/G2K4zDHf@public.gmane.org> wrote:> > Hi Ethan, > > I am also running the salted login generator. > Could you take me through what you did to remove the localization files? > > Your help would be much appreciated. > > ~Ben > > > > > i found out that it was an issue with some localization functions that > > were > > a part of the SaltedLoginGenerator. > > > > I removed the localization files from being included and hard-coded the > > wording in the forms (since i am a 1-language site for now) and that > > worked. > > > > self.mailer_name="foo" and then no render lines in the methods > > > > thanks for your help! > > > > On Tue, May 27, 2008 at 9:22 AM, Frederick Cheung < > > frederick.cheung-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > > > >--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Hi, I got problem in extracting email header like From: hhhh-PkbjNfxxIARBDgjK7y7TUQ@public.gmane.org To: gggg-PkbjNfxxIARBDgjK7y7TUQ@public.gmane.org Subject: jjjjjjj Actually i already fetch a the received mail using fectmail to a ForActionMailer.txt file. But the text is contain plain text and attachment. I already extracting out the attachment which is lmx file. Currently i want to extract out the header from ForActionMailer.txt file and append to the lmx file. Is it possible to do so. Because in forum, people keep talking aboutsending email but nevermention about receiving email. Thanks -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Ethan Otterlei wrote:> One thing when i had them set up was in my environment.rb file there > were 2 > lines > #require ''localization'' > #Localization::load_localized_strings > as you can see i commented them out. > > When you do this, your forms and logins will all work still but the > issue > now will be the localization strings in your forms will now show a > variable > name instead of the value. What I did was find all of these tags and > replace them.Thanks for pointing me in this direction Ethan! Changing all my localizations to hard-coded strings would have been a lot of work for me so I edited the lib/localization.rb and commented out these lines: ActionMailer::Base.module_eval <<-EOL private def render_message(method_name, body) initialize_template_class(body).render_file(method_name + "_#{CONFIG[:default_language]}") end EOL and that did the trick for me. Ryan -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---