# PHP include() Type Functionality in Ruby/Rails

**URL:** <https://www.ruby-forum.com/t/php-include-type-functionality-in-ruby-rails/50393>\
**Category:** Rails\
**Created:** [December 15, 2005, 10:29pm UTC](https://www.ruby-forum.com/t/php-include-type-functionality-in-ruby-rails/50393 "2005-12-15T22:29:56Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![rubylover](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/8c91f0/32.png) [@rubylover](https://www.ruby-forum.com/u/rubylover)\
**Post date:** [December 15, 2005, 10:29pm UTC](https://www.ruby-forum.com/t/php-include-type-functionality-in-ruby-rails/50393/1 "2005-12-15T22:29:56Z")

</div>

Greetings,

I am working on extending a new part of our site to use Ruby on  
Rails, and have several portions of the site that is included in  
external files. The rest of the site is built on top of MovableType  
and uses PHP Includes to reference the external files.

Is there similar functionality in Ruby or Rails that I can use so I  
don’t have to update excess content in two different locations?

Thanks.

---

<div class="post-metadata">

**Author:** ![rubylover](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/8c91f0/32.png) [@rubylover](https://www.ruby-forum.com/u/rubylover)\
**Post date:** [December 15, 2005, 10:38pm UTC](https://www.ruby-forum.com/t/php-include-type-functionality-in-ruby-rails/50393/2 "2005-12-15T22:38:58Z")

</div>

Check out render()

E.g.

render :partial =\> ‘post’ # includes “\_post.rhtml”

Rob

---

<div class="post-metadata">

**Author:** ![rubylover](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/8c91f0/32.png) [@rubylover](https://www.ruby-forum.com/u/rubylover)\
**Post date:** [December 15, 2005, 10:45pm UTC](https://www.ruby-forum.com/t/php-include-type-functionality-in-ruby-rails/50393/3 "2005-12-15T22:45:04Z")

</div>

yes. but will render() parse a file that is not built into the actual  
Rails application?

For instance, in PHP I have this line in my

\<?php @include ("$document\_root" . "movable-type/includes/ footer.php"); ?\>

I need to have an equivalent in Rails. From what the documentation  
says about render() its only for files that are within the actual  
rails application itself: these files I need to include are not.

Thanks.

* * *

Justin W. removed\_email\_address@domain.invalid  
work: [www.maczealots.com](http://www.maczealots.com) play: [www.carpeaqua.com](http://www.carpeaqua.com)

---

<div class="post-metadata">

**Author:** ![rubylover](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/8c91f0/32.png) [@rubylover](https://www.ruby-forum.com/u/rubylover)\
**Post date:** [December 15, 2005, 10:48pm UTC](https://www.ruby-forum.com/t/php-include-type-functionality-in-ruby-rails/50393/4 "2005-12-15T22:48:26Z")

</div>

On 16/12/2005, at 10:42 AM, Justin W. wrote:

> For instance, in PHP I have this line in my
> 
> \<?php @include ("$document\_root" . "movable-type/includes/ footer.php"); ?\>
> 
> I need to have an equivalent in Rails. From what the  
> documentation says about render() its only for files that are  
> within the actual rails application itself: these files I need to  
> include are not.

erb templates allow full Ruby code.

\<%= File.open(’/path/to/my/file’) do |file|  
file.read  
end  
%\>

–  
Phillip H.  
removed\_email\_address@domain.invalid

---

<div class="post-metadata">

**Author:** ![rubylover](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/8c91f0/32.png) [@rubylover](https://www.ruby-forum.com/u/rubylover)\
**Post date:** [December 15, 2005, 10:51pm UTC](https://www.ruby-forum.com/t/php-include-type-functionality-in-ruby-rails/50393/5 "2005-12-15T22:51:30Z")

</div>

On 12/15/05, Justin W. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> I need to have an equivalent in Rails. From what the documentation  
> says about render() its only for files that are within the actual  
> rails application itself: these files I need to include are not.

Where are your files located? Ruby has a “require” function that  
works somewhat like you are saying.

For instance, if you have the PDF::Writer library installed, and you  
want to use it in a controller, you just put:

require ‘pdf/writer’

at the beginning of the file. Works like a charm!

---

<div class="post-metadata">

**Author:** ![rubylover](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/8c91f0/32.png) [@rubylover](https://www.ruby-forum.com/u/rubylover)\
**Post date:** [December 15, 2005, 11:24pm UTC](https://www.ruby-forum.com/t/php-include-type-functionality-in-ruby-rails/50393/6 "2005-12-15T23:24:57Z")

</div>

On Dec 15, 2005, at 1:42 PM, Justin W. wrote:

> yes. but will render() parse a file that is not built into the  
> actual Rails application?
> 
> For instance, in PHP I have this line in my
> 
> \<?php @include ("$document\_root" . "movable-type/includes/ footer.php"); ?\>

```
<%= render :file => "/home/users/foobar/template.rhtml %>

```

With that you will be able to render an rhtml template that is  
anywhere on the computer.

Cheers-  
-Ezra

> work: [www.maczealots.com](http://www.maczealots.com) play: [www.carpeaqua.com](http://www.carpeaqua.com)
> 
> > > external files. The rest of the site is built on top of
> 
> * * *
> 
> Rails mailing list  
> removed\_email\_address@domain.invalid  
> [http://lists.rubyonrails.org/mailman/listinfo/rails](http://lists.rubyonrails.org/mailman/listinfo/rails)

-Ezra Z.  
Yakima Herald-Republic  
WebMaster  
[http://yakimaherald.com](http://yakimaherald.com)  
509-577-7732  
removed\_email\_address@domain.invalid

---

<div class="post-metadata">

**Author:** ![rubylover](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/8c91f0/32.png) [@rubylover](https://www.ruby-forum.com/u/rubylover)\
**Post date:** [December 15, 2005, 11:43pm UTC](https://www.ruby-forum.com/t/php-include-type-functionality-in-ruby-rails/50393/7 "2005-12-15T23:43:22Z")

</div>

On 16/12/2005, at 11:35 AM, Andreas S. wrote:

> Or just File.read(‘path’).

Um. Yes. Duh. I’ve been coding in PHP all morning, gotta keep a roof  
over my head and everything. It’s just so mind numbing 😉

–  
Phillip H.  
removed\_email\_address@domain.invalid

---

<div class="post-metadata">

**Author:** ![rubylover](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/8c91f0/32.png) [@rubylover](https://www.ruby-forum.com/u/rubylover)\
**Post date:** [December 15, 2005, 11:35pm UTC](https://www.ruby-forum.com/t/php-include-type-functionality-in-ruby-rails/50393/8 "2005-12-15T23:35:00Z")

</div>

Phillip H. wrote:

> \<%= File.open(’/path/to/my/file’) do |file|  
> file.read  
> end  
> %\>

Or just File.read(‘path’).
