Rails 文件上传问题

问题描述:

<%= form_tag(:action =>'uploadFile', :multipart => true)%>

    <p><label for="upload_file">选择上传文件</label>
    <%= file_field("file", "filedata")%>
    <%= submit_tag '提交' %></p>
</form>

uploadFile 方法怎么都上传不了, 还出现

undefined method `read' for "szy.txt":String 错误
 

解决办法:

<%= form_tag({:action =>'uploadFile'}, :multipart => true)%>

问题原因

     for_tag(url_for_options={}, options={}, *parameters_for_url, &block);

     options 可以指定 mutipart属性。

    :action =>'uploadFile', :multipart => true 会被当成一个最右参数,就都传给了 url_for_opitons;这样multipart参数就被丢弃掉了。

    {:action =>'uploadFile'}, :multipart => true 是两个参数,这样 :mutipart=>true就传给第二个形参 options。

posted @ 2009-12-05 22:06  napoleon_liu  阅读(906)  评论(0编辑  收藏  举报