我使用post方法获取参数值
Parameters: {"utf8"=>"✓", "authenticity_token"=>"88f1KdoixHkPXIQJs4Vmg0kj9Sxrc+eM0DGSbD0B1xs=", "adverts"=>{"title"=>"fdasfa", "features"=>"", "description"=>"", "areadescription"=>"", "rooms"=>"", "bathroom"=>"", "price"=>"", "type"=>"", "source"=>"", "originaldate"=>""}, "commit"=>"Save Adverts"}
获得具体值:
@advert = params[:adverts]
advert与名为advertTable的表的字段具有完全相同的名称。 我如何解析广告变量到我的模型广告的同一时间?
答案 0 :(得分:0)
也许你应该在教程中获取战利品。
为了将变量传递给对象,您必须告诉它是什么对象...然后将参数传递给对象。所以,
@advert=Advert.new(params[:adverts])
@advert.save
然而,这不是一个好习惯......对于更新和创建,您应该使用强参数。这样,坏人就不会更新id列或其他不公开的列。
最好的方法:
@advert=Advert.new(advert_params)
@advert.save
在更新操作中:
@advert=Advert.find(params[:id]) #this comes from the url
@advert.update(advert_params)
在相同的控制器中,在“私人”部分下面降低:
private
def advert_params
params.require(:adverts).permit(:title, :features, :description, :areadescription, :rooms, :bathroom, :price, :type, :source, :originaldate)
end