2016-03-30 13 views
0

タイトルが示唆するように、ここで成し遂げようとしている私は、かなり簡単です。私はコントローラのshowビューからのを生成する必要があります。私は、ヘッダーイメージを作成したいと思うユーザを生成するようにしました。しかし、header_imgフィールドをdeviseフォームに追加するのではなく、自分の見解だけでそれを持っていたいと思います。最終的に私は私のビュー上の "編集"ボタンをクリックすると、フォームが表示されます。ツイッターと同じように。今私はundefined local variable or method users_path errorを得ています。私はペーパークリップのためのgithubのドキュメントに続いて、何が間違っているかわからない。別のビューにpaperclipフィールドを含むフォームを追加するにはどうすればよいですか?

マイビューの表示

<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 

答えて

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) 

かを確認しなければなりません。

このヘルプが必要です。

関連する問題