2016-03-30 5 views
0

Also, wie der Titel andeutet, was ich hier zu erreichen versuche, ist ziemlich einfach. Ich muss eine in der show Ansicht meines Controllers generieren. Ich habe ein Gerät, das Benutzer erzeugt, den ich ein Titelbild haben möchte. Anstatt jedoch das Feld header_img dem Geräteformular hinzuzufügen, möchte ich es aus meiner Sicht haben. Letztendlich will ich es wo ich auf einen "Bearbeiten" -Button klicke auf meiner Ansicht wird es das Formular anzeigen. Ähnlich wie Twitter es tut. Gerade jetzt bekomme ich eine undefined local variable or method users_path error. Ich habe die Dokumentation auf GitHub für Büroklammer gefolgt und ich bin nicht sicher, was falsch ist.Wie füge ich ein Formular mit einem Büroklammerfeld in einer anderen Ansicht hinzu?

Meine Show View

<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> 

Mein Benutzermodell

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 

Antwort

0

Ihr Problem hat nichts mit der Verwendung von Büroklammer Feldern auf anderen Ansichten zu tun. Der Helper, den Sie verwenden möchten users_path wird nur verfügbar sein, wenn Sie eine findige Route deklarieren.

Von Rails Guides (http://guides.rubyonrails.org/routing.html)

eine einfalls Route erstellen wird auch eine Reihe von Helfern an die Controller in Ihrer Anwendung aus. Im Fall von Ressourcen: Fotos:

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) 

Sie überprüfen müssen, wenn Sie eine einfallsreiche Route für Benutzermodell erklärt.

Hoffe diese Hilfe.

Verwandte Themen