在设计的编辑页面中,我使用回形针放置图像上传器。
如果我尝试将 image_tag 放在这里,它会像这样返回错误。
NoMethodError in Registrations#edit
undefined method `photo' for #<ActionView::Helpers::FormBuilder:0x000000210752d0>
我有 Devise 使用的“用户”模型。
并且用户有一个“用户配置文件”模型。
在“UserProfile”中,我将 :photo 添加到 attr_accessible。我还将它添加到“UserProfile”模型中以使用回形针
has_attached_file :photo,
:styles => {
:thumb=> "100x100>",
:small => "400x400>" }
我的编辑视图是
<% resource.build_user_profile if resource.user_profile.nil? %>
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { :method => :put }) do |f| %>
<%= devise_error_messages! %>
<%= f.fields_for :user_profile do |profile_form| %>
<div><%= profile_form.label :nickname %><br />
<%= profile_form.text_field :nickname %></div>
<div><%= profile_form.label :photo %><br />
<%= profile_form.file_field :photo %></div>
<% if profile_form.photo.exists? then %>
<%= image_tag profile_form.photo.url %>
<%= image_tag profile_form.photo.url(:thumb) %>
<%= image_tag profile_form.photo.url(:small) %>
<% end %>
<% end %>
...continue on