やりたいこと
例えば、一つのページに保存ボタンが複数あり、保存ボタン(1)を押すと「名前を変更」し、保存ボタン(2)を押すと「プロフィール文章を変更」。
方法
保存ボタン(1)は下記のように記述
<input class="OK" type="submit" value="保存" name="name">
保存ボタン(2)は下記のように記述
<input class="OK" type="submit" value="保存" name="introduce">
違いは、nameの内容(パラメータ値)です。
コントローラーで下記のように条件分岐
def update
@user = User.find_by(id:params[:id])
# submitで送信したparamsの値によって、保存する内容を変えるようにします。
if params[:name]
@user.update(name_params)
elsif params[:introduce]
@user.update(introduce_params)
end
end
private
def name_params
params.require(:website).permit(:name)
end
def introduce_params
params.require(:website).permit(:introduce)
end
上記は説明用になりますので、redirect_toやsaveなどはご自分で設定下さい。