私は学生とコースモデルを持っています。生徒はコースに属し、コースには多くの生徒がいます。関連付けられたモデルIDを検証する方法は?
class Student < ActiveRecord::Base
attr_accessible :course_id, :name, :password, :status, :studentID, :year
belongs_to :course
validates :name, :password, :status, :studentID, :year, :presence =>true
validates_associated :course
end
class Course < ActiveRecord::Base
attr_accessible :courseCode, :courseName, :courseYr
validates :courseCode,:courseName,:courseYr, :presence => true
validates :courseCode,:courseYr, :uniqueness=>{:message=>"Cannot repeat the code"}
has_many :students
end
生徒記録を作成するためのフォームでは、ユーザーにコースIDを入力させます。
<div class="field">
<%= f.label :course_id %><br />
<%= f.text_field :course_id %>
</div>
しかし、私は、ユーザーがcourse_id
入力を検証する方法がわかりません。学生モデルの検証では、存在しないコースIDを入力してもエラーは発生しません。エラーを表示するにはどうすればよいですか?
それは働く:)私の問題の声明を修正するためのまたありがとう.hhaha btw、どのようにユーザーがIDを入力するのではなく、リストからコースを選択させることができますか?私はレールに選択タグのヘルパーがあることを知っているので、私はそれの中にすべてのコースの配列を配置する必要がありますか? – code4j
正しいですが、 'select'を使ってコースの配列に値をつけることができます。 SOとWebにはたくさんの例があります。 –
thx :)私はそれを作った。 – code4j