我会说,当我第一次启动并运行carrierwave 时,除了头像的大小缩放之外,一切都运行良好。
所以现在在我尝试进行缩放之后,一切都变得糟糕透顶。我卸载了 gem,进行了迁移以从用户中删除头像,然后进行了另一个迁移以添加。
还是同样的错误。注意我正在做 rails g uploader Avatar,而不是图像。除了添加之外,我还没有触及 avatar_uploader.rb 文件
require 'carrierwave/orm/activerecord'
在顶线上。
所以,真正奇怪的是:
当我进入控制台并执行 User.last
1.9.3p0 :001 > User.last 用户负载 (0.3ms) SELECT "users".* FROM "users" ORDER BY "users"."id" DESC LIMIT 1 => #
这太奇怪了,因为用户数据库正在识别图像。所以……想法?
如前所述,最初并没有发生这种情况。
在我的用户显示页面中,我有
<p>
<label>My Avatar</label>
<%= image_tag(@user.avatar_url) if @user.avatar? %>
<%= f.file_field :avatar %>
<%= f.hidden_field :avatar_cache %>
</p>
在我的用户表单中,我有:
<label>My Avatar</label>
<%= f.file_field :avatar %>
<%= f.hidden_field :avatar_cache %>
我附上了服务器窗口,向您展示发生了什么。
Started GET "/users/17" for 127.0.0.1 at 2012-03-12 13:26:28 -0500
Processing by UsersController#show as HTML
Parameters: {"id"=>"17"}
User Load (0.2ms) SELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1
[["id", "17"]]
Rendered users/show.html.erb within layouts/application (1.9ms)
Completed 500 Internal Server Error in 5ms
ActionView::Template::Error (can't convert nil into String):
7:
8: <p>
9: <label>My Avatar</label>
10: <%= image_tag(@user.avatar_url) if @user.avatar? %>
11: <%= f.file_field :avatar %>
12: <%= f.hidden_field :avatar_cache %>
13: </p>
app/views/users/show.html.erb:10:in
`_app_views_users_show_html_erb__498619941080127768_2168209880'
app/controllers/users_controller.rb:18:in `show'
任何帮助将不胜感激!谢谢 :)