特定のイベントを作成するために、レールで simple_form を使用しています。新しいイベントを作成するには、ユーザーとしてログインする必要があります。フォームは、ユーザーにイベント名、開始日、および終了日を入力するように求めます。ユーザーが送信ボタンをクリックすると、フォームがデータベース内の属性 user_id を自動的に更新するようにします。
現在、データベースでは、events テーブルの user_id フィールドは常に null に設定されています。ただし、この属性を次のように設定する必要があります。
events.user_id = current_user.id
詳細については、次のイベント テーブルを参照してください。
注: このデータベースの user_id の値を手動で入力しました。
質問:ユーザーが送信をクリックした後、データベース属性を更新するにはどうすればよいですか? または、新しいイベントが作成されたときに常に user_id を設定するデフォルトの方法はありますか?
new.html.erb イベント ビューのコードは次のとおりです。
<%= simple_form_for(@event) do |f| %>
<%= f.error_notification %>
<div class="form-inputs">
<%= f.input :name %>
<%= f.input :start_at %>
<%= f.input :end_at %>
</div>
<div class="form-actions">
<%= f.button :submit %>
</div>
<% end %>