したがって、ユーザーが「提出」を作成できるRailsアプリがあります。今、組織のために、提出物が入るフォルダーを作成する機能を追加しようとしています。ただし、フォルダー モデルを機能させる際に問題が発生したようです。次のエラーが表示されます。
Unknown key: #<ActiveRecord::Relation:0x007f17cc75d498>
エラーは、このコードの 21 行目にあることを示しています。
18: </div>
19:
20: <div id="submission-list-container">
21: <% current_user.folders.each do |i| %>
22: <a href='#'>
23: <div id="post-container">
24: <%= i.title %> <p id="created-time">Created <%= i.created_at.strftime("%e/%-m") %></p>
を使用してフォルダー モデルを作成しましたrails g model folder title:string
。モデルは次のようになります。
class Folder < ActiveRecord::Base
attr_accessible :title, :user_id
belongs_to :user
has_many :submissions, order => ('updated_at DESC')
end
私の推測では、ユーザー、送信、およびフォルダー間の関係を正しく設定していない可能性があります。これが私のユーザーと提出モデルです:
サブミッション.rb:
class Submission < ActiveRecord::Base
belongs_to :folder
belongs_to :user
attr_accessible :content, :title, :user_id
end
ユーザー.rb:
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :token_authenticatable, :confirmable,
# :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
# Setup accessible (or protected) attributes for your model
attr_accessible :email, :password, :password_confirmation, :remember_me, :user_id, :submissions, :folders
# attr_accessible :title, :body
has_many :submissions
has_many :folders, through: :submissions
end
また、私の移行ディレクトリは次のようになります。
20130523233304_create_submissions.rb
20130530064506_devise_create_users.rb
20130621002458_add_user_id_to_submissions.rb
20130709213421_add_user_id_to_folders.rb
20130710042650_add_folder_id_to_submissions.rb
20130710200424_create_folders.rb
何が間違っている可能性がありますか?このエラーが発生したのはこれが初めてなので、何をごまかしたのかわかりません。
編集 フォルダーと送信用のSchema.rbテーブルは次のとおりです。
create_table "folders", :force => true do |t|
t.string "title"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
create_table "submissions", :force => true do |t|
t.string "title"
t.text "content"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.integer "user_id"
end
編集 2 私の create_folders 移行:
class CreateFolders < ActiveRecord::Migration
def change
create_table :folders do |t|
t.string :title
t.timestamps
end
終了 終了
そして、これが私の add_folder_id_to_submissions 移行ファイルです。
class AddFolderIdToSubmissions < ActiveRecord::Migration
def change
end
end