0
我最近在数据库中添加了一个名为“sport”的表中的新列。我试图在表单中使用select_tag更新列中的值,但是每次尝试数据都没有更新。表单的其余部分目前正在正常工作和更新。表单不使用选择标记更新数据库红宝石
选择标记目前在我的视图中像这样实现。
<%= f.label :sport %>
<%= select_tag(:sport, options_for_select([['Basketball', 1], ['NRL', 2], ['Super Rugby', 3], ['AFL', 4], ['eSports', 5], ['Ice Hockey', 6], ['Horse Racing', 7], ['Tennis', 8], ['NFL', 9] ]))%>
:运动被声明为在表中一个整数。
控制器目前看起来是这样的:
class BetsController < ApplicationController
def new
@bet = Bet.new
end
def create
@bets = Bet.new(bet_params)
if @bets.save
flash[:success] = 'Bet Successfull Logged.'
redirect_to new_bet_path
else
flash[:danger] = 'Error, Bet has not been logged. Try again mate.'
redirect_to new_bet_path
end
end
def show
@bet = Bet.find(params[:id])
end
def edit
@bet = Bet.find(params[:id])
end
def update
@bet = Bet.find(params[:id])
if @bet.update_attributes(bet_params)
flash[:success] = "Bet Updated!"
redirect_to bet_path(params[:id])
else
render action: :edit
end
end
private
def bet_params
params.require(:bet).permit(:bet_placed, :game, :units_placed, :odds, :profit_or_loss, :date_of_bet, :resolved, :push, :sport, :bookmaker)
end
end
当您提交表单时:哪些参数提交给控制器。新列是什么类型? –
新列的类型是整数。 整个表格是针对下注行的submmited。 –