for_tag有两个属性,1::level_id
2: :title
。用户正在输入这两个值,但在中:title
,输入的值是
数学,英语,ETC,并将其拆分为数组
@test = params.requrie(:service).permit(:title)[:title]
我需要使用相同的方法在数据库中创建输入 :level_id
title:math,level_id:1
title:English,level_id:1
在我的服务控制器中正在尝试此操作。
def create
@qure = params.require(:service).permit(:level_id)[:level_id]
@test = params.require(:service).permit(:title)[:title]
@gain = @test.split(",")
@gain.each do |fil|
Service.new(fil,@qure)
end
redirect_to root_url
end
这给我一个错误
分配属性时,必须将哈希作为参数传递。
我的迁移
def change
create_table :services do |t|
t.string :title
t.integer :level_id
t.timestamps null: false
end
end
您可以执行以下操作:
@test = params.require(:service).permit(:title)[:title]
def create
@qure = params.require(:service).permit(:level_id)[:level_id]
@test = params.require(:service).permit(:title)[:title]
@gain = @test.split(",")
# Note: You need to use a hash to pass args to the model
@gain.each do |fil|
Service.create!(title: fil, level_id: @qure)
end
redirect_to root_url
end
我也用过创造!在方法中,但如果要使用验证,则应考虑使用save并检查返回值。如果存在验证问题,以上内容将引发错误。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句