From: Jason Pfeifer Date: 2006-01-23T10:07:00+09:00 Subject: sending email body text based on form content As a noob to Rails and web development in general, I think I still need a broader understanding of how Views, Controllers, and Models pass information and variables to each other. I'm creating a site that allows for email campaigns. I have a 'create_email_controller': class Admin::CreateEmailController < Admin::BaseController layout 'admin' def index write render :action => 'write' end def write @email = Email.new end def email_list email = Email.find(:all) email.each { |address| MailList::deliver_send_email(address) } redirect_to (:action => @section) end end where I want the user to type a message body into a textarea field: <%= error_messages_for 'email' %>


<%= text_area 'email', 'message' %>

I want to pass from the form a variable @message to email_list in the controller, which passes to the MailList model: class MailList < ActionMailer::Base def send_email(email) @recipients = email.address @from = 'info@toropaintballs.com' @subject = 'Toro Paintball' @body['full_name'] = email.fullname ## @message in here someway ## end end which invokes the view send_email.rhtml: Dear <%= @full_name %>, <%= @message %> Hope this isn't way too long winded, but is this completely simple to do without having to store @message as a session variable or in the DB? Can I just take the value of the textarea, pass it through the controllers and model to the view like this? -- Posted via http://www.ruby-forum.com/.