Jason Pfeifer
2006-Jan-23 01:16 UTC
[Rails] learning how models, controllers, and views pass data
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'' %> <!--[form:email]--> <p><label for="email_message">Message</label><br/> <%= text_area ''email'', ''message'' %></p> <!--[eoform:email]--> 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/.