基本的に学生が自習室にサインアップできるRuby on Railsを使用して小さなプロジェクトを開発しています。まだわからない変更を加えようとしているところが 1 つあります。
デフォルトでは、新しい提出物を作成すると、それが作成され、基本的に提出物からのすべての情報を表示するビュー画面に移動します。フォームのコントローラーは次のとおりです。
# POST /students
# POST /students.json
def create
@student = Student.new(params[:student])
respond_to do |format|
if @student.save
format.html { redirect_to @student, notice: 'Student was successfully created.' }
format.json { render json: @student, status: :created, location: @student }
else
format.html { render action: "new" }
format.json { render json: @student.errors, status: :unprocessable_entity }
end
end
end
私がやろうとしているのは、ユーザーが送信ボタンをクリックしても自動的にDBに保存されず、代わりに次の画面に移動し、ユーザーが送信を確認してボタンをクリックして送信を確認できることです。確認ボタンをクリックすると、DB に保存され、「学生が正常に作成されました」と表示されます。通知してフォーム画面に戻します。
ショーのコントローラーは次のとおりです (表示される次のページです)。
# GET /students/1
# GET /students/1.json
def show
@student = Student.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @student }
end
end