私はプログラミングが新しく、私はユーザーの写真にユーザーの写真を追加するためにpaperclipを使用しようとしています。レコードは、<%= f.file_field:photo%>行を除いた新しいレコードの追加フォームから作成し、適切にリダイレクトしてレコードをデータベースに保存することができます。しかし、それを保存するときには、ユーザーのパスの代わりにcreate.html.erbにリダイレクトして、新しいレコードを保存しません。また、エラーは表示されません。私は、ユーザーテーブルをphoto_file_name、photo_content_type、および:photo_file_sizeフィールドで更新しました。また、窓があれば助けてもらうよ。Rails/paperclipの新機能 - ペーパークリップは保存されません。
モデル:
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 %>
すべてのヘルプははるかに高く評価されます!開発ログに示されているいただきまし
:
処理がUserController#作成[POST]パラメータ(2011-01-12 22時05分56秒で 127.0.0.1用): { "ユーザー" = > { "写真" =>#、 "ユーザ名" => "nghjhg"、 "パスワード" => "ghjghj"}、 "コミット" => " 変更を保存"、 "authenticity_token" => "IlacpnqsC/IJ + 41bx8tN4obOWPgirMx810l/WvohN68 = "} 【クリップ】%のWX%のH -format識別 "C:/Users/Home/AppData/Local/Temp/stream110112-5292-2yorcw-0.png [0]" 2> NUL [ペーパークリップ
C:/Users/Home/AppData/Local/Temp/stream110112-5292-2yorcw-0.png 'を識別' コマンドによって認識されない>処理をしながら】エラーが が受信しました。 [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処理中に受信しましたコマンドでが認識されません。 内のレンダリングテンプレート/アプリケーションレンダリング ユーザ/作成157msで完了(表示: 4、DB:0)| 200 OK [のhttp:// localhost /をユーザ]
答えをいただきありがとうございます、私は私の質問で間違いを犯したことに気付きました。私は、avater_file_name、avater_content_type、avatar_file_sizeフィールドのUserテーブルを移行しました。写真は残念です。これで、 'photo_file_name'に必要なattr_accessorが見つからないユーザーモデルが返されます。私は「写真」で元に戻って、保存しないように戻ってきました。 – Dave
Erm、テーブル列の名前を 'photo_ *'の代わりに 'avatar_ *'に変更しましたが、has_attached_file:avatarの代わりに 'has_attached_file:photo'を使うように質問を更新しました。決心しろ!どちらですか? – noodl
私の元の質問では間違いでしたが、私はUserテーブルのphoto_にすべて変更しました。私のモデル、コントローラ、およびビューは上記のように見えます。 – Dave