0

ジェネレーター has_many 結果 結果の属する_ジェネレーター

rails console : Result.find(1) を実行すると、generator_id= nil. どうしてこうなの???データを作成しているとき、ルートは次のようになります: localhost:3000/generator/1/results/new

次のコードでエラーは発生していません。しかし、これが Generator/index.html にあるのはどうしてですか

<% generator.results.each do |result| %>
        <td><%= result.ncbi_ref_seq %></td>
        <td><%= result.genome_sample %></td>
        <td><%= result.binding_times %></td>
<%end%> 

それらは空です。@generators.each は |generator| を行いますが、ジェネレーターの値を教えてくれます。つまり、このジェネレーターに属する結果の値は空ですが、ジェネレーターの値が表示されます。私が望むのは、すべてのジェネレーターとその結果値を表示することです。some1 は私を助けることができますか?

Generator.model

class Generator < ActiveRecord::Base
  has_many :results , :dependent => :destroy
  attr_accessible :choice, :primer_length, :random_primer_generated, :genome_sample, :generator_id

GeneratorController.rb

def index
        @generators = Generator.all
      end

def create    
    @generator = Generator.new(generator_params)
    @generator.choice = params[:choice]
      if params[:choice] == 'Randomly'
          @generator.random_generate(generator_params)
      elsif params[:choice] == 'No_of_ATGC'
          @generator.no_ATGC(params[:no_A],params[:no_T],params[:no_G],params[:no_C])
      elsif params[:choice] == 'Seating'
          @generator.seating(params[:user_seq])
      end

    @generator.result_choice=params[:result_choice]
    respond_to do |format|
      if @generator.save
          if @generator.result_choice == 'Yes'
            format.html { redirect_to(new_generator_result_path(@generator)) }
          else
            format.html { redirect_to @generator, notice: 'Result was successfully created.' }
            format.json { render action: 'show', status: :created, location: @generator }
          end
      else 
        format.html { render action: 'new' }
        format.json { render json: @generator.errors, status: :unprocessable_entity }
      end
    end
  end

結果モデル

class Result < ActiveRecord::Base
   attr_accessible :ncbi_ref_seq,:genome_seq, :genome_sample
   belongs_to :generator, foreign_key: "generator_id"

結果コントローラー

def index
    @results = Result.all
  end
def create
    @result = Result.new(result_params)
    @result.generate_result(result_params)
    respond_to do |format|
      if @result.save
        format.html { redirect_to @result, notice: 'Result was successfully created.' }
        format.json { render action: 'show', status: :created, location: @result }
      else
        format.html { render action: 'new' }
        format.json { render json: @result.errors, status: :unprocessable_entity }
      end
    end
  end

schema.rb

create_table "generators", force: true do |t|
    t.integer  "primer_length"
    t.integer  "no_A"
    t.integer  "no_T"
    t.integer  "no_G"
    t.integer  "no_C"
    t.string   "choice"
    t.string   "random_primer_generated"
    t.string   "user_seq"
    t.string   "c_primer"
    t.string   "result_choice"
    t.datetime "created_at"
    t.datetime "updated_at"
  end

  create_table "results", force: true do |t|
    t.integer  "generator_id"
    t.string   "ncbi_ref_seq"
    t.string   "genome_seq"
    t.string   "genome_sample"
    t.integer  "binding_times"
    t.datetime "created_at"
    t.datetime "updated_at"
  end

  add_index "results", ["generator_id"], name: "index_results_on_generator_id"

  create_table "results_{:column_options=>{:null=>true}}", id: false, force: true do |t|
    t.integer  "result_id",                           null: false
    t.integer  "{:column_options=>{:null=>true}}_id", null: false
    t.integer  "generator_id"
    t.string   "ncbi_ref_seq"
    t.string   "genome_seq"
    t.string   "genome_sample"
    t.integer  "binding_times"
    t.datetime "created_at"
    t.datetime "updated_at"
  end

  add_index "results_{:column_options=>{:null=>true}}", ["generator_id"], name: "index_results_{:column_options=>{:null=>true}}_on_generator_id"
4

0 に答える 0