0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

同一ページに対して2つのsubmit(POST)【Ruby】

Posted at

1つのHTMLのページに2つのformと2つのsubmitボタンがあり、かつ、formのactionが同じページを指定している時の処理の分け方です。
サーバーサイドはRubyを使用しています。

HTML

index.erb
<html>
  <head>
    〜〜〜〜〜中略〜〜〜〜〜
  </head>
  <body>
    <form action="/" method="POST">
      〜〜〜〜〜中略〜〜〜〜〜
      <input type="submit" name="post" value="投稿">
    </form>
      〜〜〜〜〜中略〜〜〜〜〜
    <form action="/" method="POST">
      〜〜〜〜〜中略〜〜〜〜〜
      <input type="submit" name="delete" value="削除"> 
    </form>
  </body>
</html>

このように、両方のformのactionが"/"を指定しているとします。
ここで記述しておくのが、submitボタンに対してのname属性です。

Ruby

app.rb
post "/" do
 if params[:post]
  # submitmのnameがpostのformの処理
 end

 if params[:delete]
  # submitmのnameがdeleteのformの処理
 end

 erb :index
end

このように書けば、同じページに対して複数のPOSTがあったとしても処理を分けられるみたいです。

【参考記事】
【Ruby on Rails】呼び出し元のボタンによって処理を分けたい場合

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?