# About content\_type

**URL:** <https://www.ruby-forum.com/t/about-content-type/144952>\
**Category:** Rails\
**Created:** [August 4, 2008, 5:41pm UTC](https://www.ruby-forum.com/t/about-content-type/144952 "2008-08-04T17:41:00Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![daociyiyou](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/0ea827/32.png) [@daociyiyou](https://www.ruby-forum.com/u/daociyiyou)\
**Post date:** [August 4, 2008, 5:41pm UTC](https://www.ruby-forum.com/t/about-content-type/144952/1 "2008-08-04T17:41:00Z")

</div>

Hello:  
I defined a mehod in a model like this:  
def file=(file\_field)#virtual attri is not same as access method  
unless file\_field=="" #manage not upload image  
if file\_field.content\_type=~/^image/ &&  
ensure\_uniq\_img("/images/users/"+file\_field.original\_filename)  
#the not image file will not be upload  
File.open("#{RAILS\_ROOT}/public/images/users/#{file\_field.original\_filename}",“wb”)  
{ |i| i.write(file\_field.read)}  
end  
#show the error message  
self.photo="/images/users/"+file\_field.original\_filename  
end  
end  
##############  
But when i select a file locally to upload a file,the browser alway  
displays error saying:  
undefined method `content\_type’ for #String:0x4f3f9e0.

who can help me?

---

<div class="post-metadata">

**Author:** ![daociyiyou](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/0ea827/32.png) [@daociyiyou](https://www.ruby-forum.com/u/daociyiyou)\
**Post date:** [August 5, 2008, 2:06am UTC](https://www.ruby-forum.com/t/about-content-type/144952/2 "2008-08-05T02:06:11Z")

</div>

anyone can help me?

---

<div class="post-metadata">

**Author:** ![daociyiyou](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/0ea827/32.png) [@daociyiyou](https://www.ruby-forum.com/u/daociyiyou)\
**Post date:** [August 5, 2008, 2:36am UTC](https://www.ruby-forum.com/t/about-content-type/144952/3 "2008-08-05T02:36:27Z")

</div>

On Aug 5, 1:06 am, Guo Y. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> anyone can help me?

Is the form set to multipart ?

Fred

---

<div class="post-metadata">

**Author:** ![daociyiyou](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/0ea827/32.png) [@daociyiyou](https://www.ruby-forum.com/u/daociyiyou)\
**Post date:** [August 5, 2008, 2:44am UTC](https://www.ruby-forum.com/t/about-content-type/144952/4 "2008-08-05T02:44:51Z")

</div>

Frederick C. wrote:

> On Aug 5, 1:06ï¿½am, Guo Y. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
> wrote:
> 
> > anyone can help me?
> 
> Is the form set to multipart ?
> 
> Fred

I have set the multipart attr?

---

<div class="post-metadata">

**Author:** ![daociyiyou](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/0ea827/32.png) [@daociyiyou](https://www.ruby-forum.com/u/daociyiyou)\
**Post date:** [August 5, 2008, 5:14am UTC](https://www.ruby-forum.com/t/about-content-type/144952/5 "2008-08-05T05:14:02Z")

</div>

who can help me?

---

<div class="post-metadata">

**Author:** ![daociyiyou](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/0ea827/32.png) [@daociyiyou](https://www.ruby-forum.com/u/daociyiyou)\
**Post date:** [August 5, 2008, 12:10pm UTC](https://www.ruby-forum.com/t/about-content-type/144952/6 "2008-08-05T12:10:34Z")

</div>

My form codes are following:

\<%form\_tag :action=\>“register”,:method=\>:post,:multipart=\>true do-%\>  
\<%=render(:partial=\>“changing\_user”,:object=\>@user)-%\>  
\<%end-%\>.

who can help me?

---

<div class="post-metadata">

**Author:** ![daociyiyou](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/0ea827/32.png) [@daociyiyou](https://www.ruby-forum.com/u/daociyiyou)\
**Post date:** [August 5, 2008, 12:30pm UTC](https://www.ruby-forum.com/t/about-content-type/144952/7 "2008-08-05T12:30:15Z")

</div>

On 5 Aug 2008, at 11:10, Guo Y. wrote:

> My form codes are following:
> 
> \<%form\_tag :action=\>“register”,:method=\>:post,:multipart=\>true do-%\>  
> \<%=render(:partial=\>“changing\_user”,:object=\>@user)-%\>  
> \<%end-%\>.
> 
> who can help me?

That doesn’t actually create a multipart form (check the html  
generated).  
When using form\_tag like this, the first argument is the options used  
to build the url to post to. The second parameter are the options for  
the form itself, and this is where the multipart option does.  
So you need something more like

\<%form\_tag( {:action=\>“register”},:method=\>:post,:multipart=\>true) do-%\>

---

<div class="post-metadata">

**Author:** ![daociyiyou](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/0ea827/32.png) [@daociyiyou](https://www.ruby-forum.com/u/daociyiyou)\
**Post date:** [August 5, 2008, 5:50pm UTC](https://www.ruby-forum.com/t/about-content-type/144952/8 "2008-08-05T17:50:56Z")

</div>

> \<%form\_tag( {:action=\>“register”},:method=\>:post,:multipart=\>true) do-%\>

Thank you.It is the brace that made the error.
