0
サイトで投稿された画像を確認するためにform_forを設定しましたが、変更をコミットするだけでなくフィールドに値を送る複数のsubmitタグ?複数のsubmitタグをレール3でカスタマイズするform_for
私は、「画像を承認する」ボタンをクリックするのであればその方法は、フォームが送信され、私の「状態」フィールドは、私は笑これを行う方法を見当がつかない
を「承認」に設定されています。
サイトで投稿された画像を確認するためにform_forを設定しましたが、変更をコミットするだけでなくフィールドに値を送る複数のsubmitタグ?複数のsubmitタグをレール3でカスタマイズするform_for
私は、「画像を承認する」ボタンをクリックするのであればその方法は、フォームが送信され、私の「状態」フィールドは、私は笑これを行う方法を見当がつかない
を「承認」に設定されています。
params
ハッシュで押されたボタンにアクセスできます。これは私の迅速かつ汚いソリューションです、あなたはREST-FULコントローラを持っていると仮定すると:
# images_controller.rb
def update
@image = Image.find(params[:id])
case params[:commit] # Value of button (which is shown as the text of the button in browsers)
when 'approve image'
@image.status = 'approved'
when 'other status'
...
else
@image.status = 'flagged'
end
@image.save
# Redirect or whatever
end
よりよい解決策:
# images_controller
before_filter :set_status
def update
@image = Image.find(params[:id])
@image.update_attributes(params[:image|)
# Redirect
end
private
def set_status
params[:image][:status] = case params[:commit]
when 'approve image'
'approved'
...
else
'flagged'
end
end
クールおかげで、どのように私は、実際のボタンカントーを作るのですか? submit_tagにはプリセット値がありませんか?私はそれを変更することはできますか? – rugbert
'<%= f.submit( 'Approve Image')%>'はそれを行います。 –