如何在另一个视图中添加带有回形针字段的表单?

时间:2016-03-30 03:15:49

标签: ruby-on-rails paperclip

正如标题所示,我想在这里完成的事情相当简单。我需要在控制器的show视图中生成一个from。我有一个设计生成用户,我想要一个标题图像。但是,我不想将header_img字段添加到设计表单中,而是希望在我的视图中单独使用它。最终我想要它点击"编辑"我视图上的按钮会显示表格。类似于twitter如何做到这一点。现在我得到undefined local variable or method users_path error。我已经在github上关于回形针的文档,我不知道什么是错的。

我的展示视图

<div class="row">
  <div class="col-md-12">
    <div class="well well-sm">
      <div class="page-header">
        <h1><%= @user.full_name %></h1>
      </div>

      <!-- show option only if curr user == show profile user -->
      <%= form_for @user, url: users_path, html: { multipart: true } do |form| %>
        <%= form.file_field :header_img %>
      <% end %>

      <%= link_to 'Edit Profile', "#", class: "btn btn-primary" %>
    </div>
  </div>
</div>

我的用户模型

class User < ActiveRecord::Base
    #this is for the business header img
    has_attached_file :header_img, styles: { large: "1200x500>" }, default_url: "/images/:style/missing.png"
    validates_attachment_content_type :header_img, content_type: /\Aimage\/.*\Z/
end

1 个答案:

答案 0 :(得分:0)

您的问题与在其他视图上使用回形针字段无关。 只有在声明资源丰富的路由时,您尝试使用users_path的帮助程序才可用。

来自Rails指南(http://guides.rubyonrails.org/routing.html

  

创建资源丰富的路由还会向应用程序中的控制器公开许多帮助程序。在资源方面:照片:

photos_path returns /photos
new_photo_path returns /photos/new
edit_photo_path(:id) returns /photos/:id/edit (for instance, edit_photo_path(10) returns /photos/10/edit)
photo_path(:id) returns /photos/:id (for instance, photo_path(10) returns /photos/10)

您必须检查是否为用户模型声明了资源丰富的路由。

希望这有帮助。