Ruby on rails 如何添加载波上传器设计注册视图?(轨道宝石)
当用户注册时,我希望他们能够上传一个头像。新的registration.html.erb如下所示:Ruby on rails 如何添加载波上传器设计注册视图?(轨道宝石),ruby-on-rails,upload,devise,carrierwave,Ruby On Rails,Upload,Devise,Carrierwave,当用户注册时,我希望他们能够上传一个头像。新的registration.html.erb如下所示: <h2>Sign up</h2> <%= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => {:multipart => true} ) do |f| %> <%= devise_error_mes
<h2>Sign up</h2>
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => {:multipart => true} ) do |f| %>
<%= devise_error_messages! %>
<div>
<%= f.label :username %><br />
<%= f.text_field :name %>
</div>
<div>
<%= f.label :image %><br />
<%= f.file_field :image %>
</div>
<div><%= f.label :email %><br />
<%= f.email_field :email %></div>
<div><%= f.label :password %><br />
<%= f.password_field :password %></div>
<div><%= f.label :password_confirmation %><br />
<%= f.password_field :password_confirmation %></div>
<div><%= f.submit "Sign up" %></div>
<% end %>
<%= render "links" %>
注册
资源名称,:url=>注册路径(资源名称),:html=>{:multipart=>true})do | f |%>
User.rb:
class User < ActiveRecord::Base
....
mount_uploader :image, ImageUploader
class用户
图像上载程序存在
当我尝试访问视图时,它告诉我User::ImageUploader不存在。当我试图在用户模型中指定类的完全限定名时,无论是作为“include”语句还是作为mount_uploader函数的参数,它都找不到。我是否需要以某种方式在该视图中构建一个单独的form_标记?我相信这是以前做过的。非常感谢您的帮助。您是否:
:image
列app/uploaders/image\u uploader.rb
:username
,字段上有:name
尝试更改:
<%= f.label :username %><br />
<%= f.text_field :name %>
到
Yep,用户在其中有一个图像,尽管我无法在rails控制台中调出一个图像而不注释对ImageUploader的引用(NameError:uninitialized constant User::ImageUploader,与我从视图中得到的一样)。重新启动服务器没有任何效果。我将编辑这个问题,以显示当ImageUploader被注释出user.rb时会发生什么。您的用户模型上的列名为name
还是username
?您的表单标记中有一个标签,另一个标签有一个字段。该列称为name,表单标签为“username”,在出现此图像之前,它似乎工作正常
可能更好。但不确定它是否能解决您的问题。你能发布你的image\u uploader.rb吗?当我试图在用户模型中指定类的完全限定名时,你能解释一下你所说的是什么意思吗。您将图像url存储在哪里?作为用户模型中的属性,还是单独的模型中的属性?
<%= f.label :name, "username" %><br />
<%= f.text_field :name %>