簡體   English   中英

Rails / paperclip新手 - Paperclip不會保存

[英]New to Rails/paperclip - Paperclip wont save

我是編程的新手,我正在嘗試使用paperclip將用戶照片添加到我的用戶記錄中。 可以從添加新記錄表單創建記錄,而不使用<%= f.file_field:photo%>行並正確重定向並將記錄保存到數據庫。 但是,當它包含在save中時,它想要重定向到create.html.erb而不是用戶路徑,並且不保存新記錄。 它也不會顯示任何錯誤。 我已使用photo_file_name,photo_content_type和:photo_file_size字段更新了users表。 此外,如果有任何幫助,我正在運行Windows。

模型:

class User < ActiveRecord::Base
  has_many :venues
  has_many :reviews
  has_attached_file :photo,
    :styles => { 
      :medium => "300x300>", 
      :thumb => "100x100>" }
end

控制器:

class UsersController < ApplicationController

  def index
    @users = User.all
  end

  def new
    @user = User.new
  end

  def create
    @user = User.create(params[:user])
    if @user.save
      flash[:notice] = 'User added'
      redirect_to users_path
    else
      @user.save
    end
  end

  def show
    @user = User.find(params[:id])
  end
end

視圖:

<% form_for (@user, :html => { :multipart => true }) do |f| %>

  <p>username: <br>
  <%= f.text_field :username %></p>

  <p>password: <br>
  <%= f.text_field :password %></p>

  <p>photo: <br>
  <%= f.file_field :photo %></p>

  <%= submit_tag %>
<% end %>

任何幫助深表感謝!

開發日志中顯示的是什么:

處理UsersController #create(對於127.0.0.1於2011-01-12 22:05:56)[POST]參數:{“user”=> {“photo”=>#,“username”=>“nghjhg”,“密碼“=>”ghjghj“},”commit“=>”保存更改“,”authenticity_token“=>”IlacpnqsC / iJ + 41bx8tN4obOWPgirMx810l / WvohN68 =“} [paperclip]識別-format%wx%h”C:/ Users /Home/AppData/Local/Temp/stream110112-5292-2yorcw-0.png[0]“2> NUL [paperclip]處理時收到錯誤:

C:/Users/Home/AppData/Local/Temp/stream110112-5292-2yorcw-0.png無法通過'identify'命令識別。> [paperclip] identify -format%wx%h“C:/ Users / Home /AppData/Local/Temp/stream110112-5292-2yorcw-0.png[0]“2> NUL [paperclip]處理時收到錯誤:

C:/Users/Home/AppData/Local/Temp/stream110112-5292-2yorcw-0.png無法通過'identify'命令識別。>在布局/應用程序中渲染模板渲染用戶/創建在157ms內完成(查看:4 ,DB:0)| 200 OK [http:// localhost / users]

在回形針的文檔中使用:avatar只是一個例子。 在你的情況下,它應該是:photo 您需要在模型和視圖文件中更改它。

編輯

我剛剛注意到你控制器的這一部分:

if @user.save
  flash[:notice] = 'User added'
  redirect_to users_path
else
  @user.save # <<< here
end

這是沒有意義的。 如果第一次保存失敗(返回false),你只是再次嘗試而不改變任何東西? 我懷疑該行應該是render :action => :new

編輯2

您的日志顯示您的identify命令無法識別.png文件。 要么,要么你沒有identify命令。 你安裝了ImageMagick嗎? 如果是這樣,怎么樣?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM