0

各生徒が自分のサイトに複数のメッセージを投稿できるようにしたい.

したがって、各生徒には多数の :posts があり、1 つの投稿は :student に属しています (1 人の生徒のみ)

問題は、Rails コンソールで学生のレコードを作成できますが、学生に投稿を割り当てることができないということです。私は少し混乱しています。has many を持つ学生モデルには、属しているモデルの属性がありませんか?

私はstudent.rbモデルを持っています

class Student < ActiveRecord::Base
  attr_accessible :first_name, :last_name, :email, :gender, :number, :college, :password, :budget, :picture 

  mount_uploader :picture, PictureUploader 

  has_many :posts
end

私はpost.rbモデルを持っています

class Post < ActiveRecord::Base

    attr_accessible :message

    belongs_to :student 

end 

これは私のスキーマです

ActiveRecord::Schema.define(version: 20130827191617) do

  # These are extensions that must be enabled in order to support this database
  enable_extension "plpgsql"

  create_table "posts", force: true do |t|
    t.text "message"
  end

  create_table "students", force: true do |t|
    t.string   "first_name"
    t.string   "last_name"
    t.string   "email"
    t.string   "number"
    t.string   "college"
    t.string   "password"
    t.float    "budget"
    t.string   "picture"
    t.datetime "created_at"
    t.datetime "updated_at"
  end
4

1 に答える 1

1

テーブルに整数列を追加する必要がstudent_idあります(この列にもインデックスがあるとよいでしょう)posts

これを行うには、コンソールに次のように入力できます。

bundle exec rails g migration add_student_id_to_posts student:references
于 2013-08-27T19:40:36.183 に答える