Forum: Ruby on Rails Passing information to the controller from view

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
640f3ccd1c6308ccdf46950d0d4ae140?d=identicon&s=25 Ryan Mckenzie (mckenzie)
on 2009-01-07 18:33
Hi everyone,

I have a template called createFile.html.erb which has some ruby code in
it.  The ruby code pulls information from the database because i'm
looping through some records.  Is it possible to send all of the
information in the createFile.html.erb output to the createFile method
in the controller? I'm wanting to save the content of it all to a text
file...

Or is there an easier way to produce the same outcome?

Thanks,
McKenzie.
81b61875e41eaa58887543635d556fca?d=identicon&s=25 Frederick Cheung (Guest)
on 2009-01-07 18:41
(Received via mailing list)
On 7 Jan 2009, at 17:33, Ryan Mckenzie wrote:

>
render_to_string ?

Fred
640f3ccd1c6308ccdf46950d0d4ae140?d=identicon&s=25 Ryan Mckenzie (mckenzie)
on 2009-01-08 00:45
Frederick Cheung wrote:
> On 7 Jan 2009, at 17:33, Ryan Mckenzie wrote:
>
>>
> render_to_string ?
>
> Fred

render_to_string puts the whole html document in the data including the
template, however I only need part of the file. This code might explain
it a little better.

#demo_controller.rb
   1. def createFile
   2.     render_to_string :layout => false
   3.     @demo = Demo.find(params[:id])
   4.
   5.     data = render_to_string
   6.
   7.     f = File.open("#{RAILS_ROOT}/public/demo/demotest.txt", "wb")
   8.     f.write(data)
   9.     f.close
  10.
  11.   end

#demo/createFile.html.erb
   1. ModelTemp {
   2.         Name "Mod"
   3.   Halt 0.0
   4.   DType "Define"
   5.   FData {
   6.     Events {
   7.     <% for event in display_demo_events(@demo) %>
   8.       Event {
   9.                     Name "<%= event.name -%>"
  10.                     Desc "<%= event.description -%>"
  11.                     Constant {FRate="<%= event.f_rate -%>"}
  12.                   }
  13.       <% end %>
  14.     }
  15.     Outputs {
  16.       <% for deviation in display_demo_events(@demo) %>
  17.       Deviation {
  18.                     Name "<%= deviation.output_class -%>"
  19.                     "<%= deviation.description -%>"
  20.                   }
  21.       <% end %>
  22.     }
  23.   }
  24. }
Ef3aa7f7e577ea8cd620462724ddf73b?d=identicon&s=25 Rob Biedenharn (Guest)
on 2009-01-08 01:22
(Received via mailing list)
On Jan 7, 2009, at 6:45 PM, Ryan Mckenzie wrote:

> the
> template, however I only need part of the file. This code might
> explain
> it a little better.
>
> #demo_controller.rb
>   1. def createFile
>   2.     render_to_string :layout => false
render here...
>
>   3.     @demo = Demo.find(params[:id])
>   4.
>   5.     data = render_to_string
...and here???  (without giving :layout => false)
6ef8cb7cd7cd58077f0b57e4fa49a969?d=identicon&s=25 Brian Hogan (Guest)
on 2009-01-08 02:11
(Received via mailing list)
In your controller, you just need

   data = render_to_string({:action => 'create.html.erb',
:layout=>false})

I'm doing a PDF (using HTMLDOC) that way. Works awesome.
640f3ccd1c6308ccdf46950d0d4ae140?d=identicon&s=25 Ryan Mckenzie (mckenzie)
on 2009-01-08 15:47
Brian Hogan wrote:
> In your controller, you just need
>
>    data = render_to_string({:action => 'create.html.erb',
> :layout=>false})
>
> I'm doing a PDF (using HTMLDOC) that way. Works awesome.

Hi Brian, that works a treat thanks.  I'm also trying to output some
information to a pdf.  Have you got an email address I can contact you
at?

Thanks
6ef8cb7cd7cd58077f0b57e4fa49a969?d=identicon&s=25 Brian Hogan (Guest)
on 2009-01-08 19:52
(Received via mailing list)
bphogan at gmail dot com

On Thu, Jan 8, 2009 at 8:47 AM, Ryan Mckenzie
This topic is locked and can not be replied to.