こんにちは、私は現在、最初の Rails プロジェクト (写真アップロード サイト) に取り組んでおり、ユーザーに属する新しいフォト アルバムを作成するフォームでエラーが発生しています。Paperclip gem を使用しようとしています。それは私にエラーを与えています:
ActiveRecord::RecordNotFound in AlbumsController#create
Couldn't find User without an ID
作成アクションのインスタンス変数と関係があると思いますが、何が問題なのかわかりません。どんなガイダンスも役に立ちます。ここに私のファイルがあります:
_form.html.erb
<%= form_for (@album), :remote => true, :html => { :id => "uploadform", :multipart => true } do |f| %>
<div>
<%= f.label :name %>
<%= f.text_field :name %>
<%= f.label :description %>
<%= f.text_area :description %>
<%= f.fields_for :avatar do |avatar_form| %>
<%= avatar_form.label :avatar, "Upload" %>
<%= avatar_form.file_field :avatar, :multiple => true %>
<% end %>
<%=f.submit %>
</div>
<% end %>
albums_controller 作成アクション:
def create
@users = User.all
@user = User.find(params[:user_id])
@album = @user.albums.build(params[:album])
if @album.save
flash[:success] = "Album created!"
end
end
構成/ルート
Pholder::Application.routes.draw do
resources :users do
resources :albums
end
resources :albums do
resources :pictures
end
アルバムモデル
class Album < ActiveRecord::Base
attr_accessible :avatar, :name, :description
has_and_belongs_to_many :users
has_attached_file :avatar
end
他のファイルを見る必要がある場合はお知らせください。