ユーザーがコースを作成するために使用できるページにフォームがあります。ユーザーにコース名や説明などの簡単な情報を入力する機会を提供する方法は理解していますが、ユーザーの ID を teacher_id 列に割り当てたいとも考えています。これはユーザーに対して自動的に行われるべきであり、teacher_id は自分の ID であるべきであるため、割り当てる機会が表示されないようにする必要があります。
現在、「コースの作成」ページのビューは次のとおりです。
<% provide(:title, 'My Classes') %>
<h1>Create a class!</h1>
<div class="row">
<div class="span6 offset3">
<%= form_for(@course) do |f| %>
<%= f.label :name %>
<%= f.text_field :name %>
<%= f.label :description %>
<%= f.text_area :description, :size => "30x6" %>
<!-- Assign the current user's id to the teacher_id column in the background -->
<%= f.submit "Create my account", class: "btn btn-large btn-primary" %>
<% end %>
</div>
</div>
コースコントローラーの新しいアクションは次のようになります。
def new
@course = Course.new
end
私がやりたいことを達成するための最良の方法は何ですか? 私は Rails にかなり慣れていないので、フォームやすべての可能性についてあまり経験がありません。hidden_field_tag について少し読みましたが、それが必要なものであるかどうかはわかりません。とにかくフォームでユーザーの ID を取得するのが難しいと感じていました。コントローラーでユーザーインスタンス変数を作成する必要がありますか、それともビュー内のコードでそれを行うことができますか?
助けてくれてありがとう。