Ruby on rails Rails在创建新标签i haven';创建操作上的t id
我使用Ruby on rails Rails在创建新标签i haven';创建操作上的t id,ruby-on-rails,select2,Ruby On Rails,Select2,我使用选择2,希望创建新标签,然后保存它们 我有@cost的表格,要选择2这个 <%= f.collection_select :product_ids, Product.all,:id, :name ,{include_hidden: false},{ multiple: true} %> })) 以及用于保存新产品的控制器方法 def product_new product = Product.find_by(name:params[:product]) Pro
选择2
,希望创建新标签,然后保存它们
我有@cost
的表格,要选择2
这个
<%= f.collection_select :product_ids, Product.all,:id, :name ,{include_hidden: false},{ multiple: true} %>
}))
以及用于保存新产品的控制器方法
def product_new
product = Product.find_by(name:params[:product])
Product.create(name:params[:product]) if !product
render json: :ok
end
成本创建
操作
def create
@cost = Cost.new(costs_params)
if @cost.save
flash[:notice] = t('added')
if params[:add_more].present?
redirect_back(fallback_location: root_path)
else
redirect_to @cost
end
else
render action: 'edit'
end
end
def costs_params
params.require(:cost).permit(:day, :amount, :description, :source,:tag_list,:product_ids=>[])
end
它工作正常,但当我想用这个新创建的产品保存@cost记录时,我只收到了我的标签名,没有id
例如,我有productswater=>id:1,beer=>id:2,并在db中创建新的juice标签id:3
在创建时,使用参数“产品ID”=>[“1”、“2”、“juice”]
如何修复它?您不应该使用id:product.term,
但是
id:product.id,
您不应该使用id:product.term,
但是
id:product.id,
您可以添加一些关于成本记录的信息吗?可能是成本控制者或要保存成本记录的操作?updated@CdotStrifeVII您可以添加一些关于成本记录的信息,可能是要保存成本记录的成本控制者或操作吗?updated@CdotStrifeVII
def create
@cost = Cost.new(costs_params)
if @cost.save
flash[:notice] = t('added')
if params[:add_more].present?
redirect_back(fallback_location: root_path)
else
redirect_to @cost
end
else
render action: 'edit'
end
end
def costs_params
params.require(:cost).permit(:day, :amount, :description, :source,:tag_list,:product_ids=>[])
end