collection_selectを使用したいのですが、適切なオブジェクトのコレクションを含むドロップダウンメニューを表示するためにいくつかの調査を行い、選択した特定のオブジェクトを選択できるようにしました。しかし、そこから私はそれを渡す方法がわかりません。
これは私のコードです:
<%= collection_select :course, :course_id, Course.all, :id, :name, :prompt => "Select a Course:" %>
<%= link_to 'New Grade', new_grade_path(:course => :course_id ) %>
これは、コントローラーの「new」メソッドに渡す正しい方法ですか?
そして、私がコントローラーにいる場合、これはそのオブジェクトを取得するための正しいコードですか?
@course = Course.find(params[:course])
また、これをビュー'new.html.erb'に表示する場合、このコードを使用しますか?
<%= @course.name %>
編集:
私は自分の協会を含めることが役立つかもしれないと思いました:
class Grade < ActiveRecord::Base
belongs_to :course
belongs_to :task
belongs_to :student
end
class Course < ActiveRecord::Base
has_many :students, :dependent => :destroy
has_many :grades
has_many :tasks, :through => :grade
has_many :teams
end
class Task < ActiveRecord::Base
belongs_to :course
has_many :grades
has_many :categories
has_one :eval
end
私がやりたかったのは、views / grades / index.html.erbページにドロップダウンメニューを作成して、ユーザーがコースとそのコースのタスクを選択できるようにすることでした。ユーザーが[新しい成績を入力]をクリックすると、ドロップダウンメニューでユーザーが選択したパラメータをviews/grades / new.html.erbに渡して、コースの名前や成績をアップロードしようとしているタスクを新しいものに表示するなどの操作を実行できるようにします。 'inputnewgrades'にリンクされているhtml.erbフォーム。