gpt4 book ai didi

ruby-on-rails - 属性保存在开发中,但未保存在生产中

转载 作者:行者123 更新时间:2023-12-04 04:17:01 25 4
gpt4 key购买 nike

我有以下辅助方法:

def parse_potential_followers(params)
t_id = TestSet.where(:test_name => params[:test_set][:test_name]).pluck(:id)[0].to_i
screen_names = params[:potential_followers].first[1].split("\n").reject(&:blank?)
screen_names.each do |s|
potential_follower = PotentialFollower.new(
:screen_name => s,
:test_sets_id => t_id,
:status => 'new',
:slug => generate_slug([t_id.to_s, s])
)
potential_follower.save
end
end

问题是,当我调用此方法时,在开发环境中而不是生产环境中的表中插入数据时,会跳过test_sets_id。其他三个属性保存得很好。

所有属性都在电位_表中定义。

我在potential_followers_controller.rb的potential_follower_params方法中也具有所有属性:
def potential_follower_params
params.require(:potential_follower).permit(:screen_name, :test_sets_id, :connections, :status,
:slug, :created_at, :updated_at)
end

test_sets_id在表中定义为整数。我什至尝试编码t_id的值:
t_id = 12

但是它仍然无法在生产中使用。

这是models/potential_follower.rb中的内容:
class PotentialFollower < ActiveRecord::Base
belongs_to :TestSet
end

这是test_sets_contoller.rb中的方法:
def create
@test_set = TestSet.new(test_set_params)
respond_to do |format|
if @test_set.save
parse_potential_followers(params)
format.html { redirect_to @test_set, notice: 'Test set was successfully created.' }
format.json { render :show, status: :created, location: @test_set }
else
format.html { render :new }
format.json { render json: @test_set.errors, status: :unprocessable_entity }
end
end
end

有任何想法吗?

最佳答案

生产数据库可能没有字段test_sets_id,但在生产模式下,rails仍会创建数据库记录,而忽略哈希的test_sets_id字段。 rake db:migrate RAILS_ENV=production应该可以解决此问题。

关于ruby-on-rails - 属性保存在开发中,但未保存在生产中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34590107/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com