带有导轨的回形针3.1路径错误

时间:2011-12-15 01:39:51

标签: ruby-on-rails ruby ruby-on-rails-3 paperclip

所以我按照这里的说明进行操作:http://doganberktas.com/2010/09/14/amazon-s3-and-paperclip-rails-3/

在我的个人资料模型中,我有:

  attr_accessor  :pic_file_name (this was requested on first attempt)
  has_attached_file :pic,
       :styles => {
       :thumb=> "100x100#",
       :small  => "400x400>" },
     :storage => :s3,
     :s3_credentials => "#{Rails.root}/config/s3.yml",
     :path => "/:style/:id/:filename"

我有资源:路线中的个人资料。

我的观点如下:

<%= form_for :profile, @profile, :url => profile_path, :html => { :multipart => true } do |f| %>
<%= f.file_field :pic %>
<%= f.submit :class => "button-style", :value => "Upload File" %>
<% end %>

当我查看该页面时,我收到此错误:没有路由匹配{:action =&gt;“show”,:controller =&gt;“profiles”}。虽然我可以向你保证,但我有一个配置文件控制器,可以显示动作。

如果我将视图更改为

<%= form_for :profile, @profile, :url => @profile, :html => { :multipart => true } do |f| %>
<%= f.file_field :pic %>
<%= f.submit :class => "button-style", :value => "Upload File" %>
<% end %>

它告诉我参数数量错误(2个为3)

然后我将视图更改为

<%= form_for @profile, :url => profile_path, :html => { :multipart => true } do |f| %>
<%= f.file_field :pic %>
<%= f.submit :class => "button-style", :value => "Upload File" %>
<% end %>

页面加载,我可以上传图片。但是稍后尝试使用以下方式打印它:

&lt;%= current_user.profile.pic%&gt;给我:/pics/original/missing.png(和profile.pic.url一样)

2 个答案:

答案 0 :(得分:2)

这似乎超出了愚蠢(因为上面对我有用) - 但这解决了它:

将视图更改为:

<%= form_for(@profile, :html => { :multipart => true }) do |f| %>

答案 1 :(得分:0)

感谢您的解决方案。顺便说一句,

<%= form_for (@profile, :html => { :multipart => true }) do |f| %>

对我不起作用,但是

<%= form_for(@profile, :html => { :multipart => true }) do |f| %>

做得好。我form_for之后的那个空间似乎打破了局面,可能是我遇到问题的原因。