当前位置:  开发笔记 > 编程语言 > 正文

属性保存在开发中但不在生产中

如何解决《属性保存在开发中但不在生产中》经验,为你挑选了0个好方法。

我有以下帮助方法:

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表中定义.

我还在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

有任何想法吗?

推荐阅读
wurtjq
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有