我在页面上有一个表单,用户可以使用它来创建课程。虽然我了解如何为用户提供填写课程名称和描述等简单内容的机会,但我还想将用户的 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。我是否需要在控制器中创建一个用户实例变量,或者我可以用视图中的代码以某种方式做到这一点。
谢谢您的帮助。