0

ですから、私は愚かな質問でコミュニティを煩わせたくないので、ここで質問をするのを延期してきましたが、とにかく今すぐ助けを求めるつもりです。

私はRubyonRailsを初めて使用します。おそらくタイトルからお読みになったと思いますが、サブフォームに問題があります。より具体的には、親オブジェクトをクライアントオブジェクトに割り当てることです。従業員が修理(携帯電話)を登録して追跡できるシステムを構築しています。でクライアントオブジェクトを構築していますが@repair = Repair.new、これは正常に機能しますが、で設定しようとするClientと、修復@repair = Client.newのオンが残ります。:client_idnull

これが私のrepair.rbです:(一部のフィールドはオランダ語です。無視してください)

class Repair < ActiveRecord::Base
  attr_accessible :imei, :klantnaam, :telefoon, :intake, :branch_id, :id, :client_id
  attr_accessible :merk, :type, :batterij, :lader, :headset, :batterijklep, :carkit, :schade_toestel, :schade_scherm, :bon, :datum_bon, :klacht, :prijsindicatie

  belongs_to :branch
  belongs_to :client

  accepts_nested_attributes_for :client
end

client.rb:

class Client < ActiveRecord::Base
  attr_accessible :email, :firstname, :lastname, :number, :phone, :postalcode
  has_many :repairs
end

repairs_controller.rb:(私は無関係なメソッドを省略しました、私は4つのスペースに飽きていました:P)

class RepairsController < ApplicationController
  # GET /repairs/new
  # GET /repairs/new.json
  def new
    @repair = Repair.new
    @repair.client = Client.new

    if request.remote_ip == "xx.xx.xx.xx"
      @repair.branch = Branch.where(:name => "Xxxxxxx").first
    end

    @repair.intake = Time.now

    respond_to do |format|
      format.html # new.html.erb
      format.json { render json: @repair }
    end
  end

  # POST /repairs
  # POST /repairs.json
  def create
    @repair = Repair.new(params[:repair])

    respond_to do |format|
      if @repair.save
        format.html { redirect_to @repair, notice: 'Repair was successfully created.' }
        format.json { render json: @repair, status: :created, location: @repair }
      else
        format.html { render action: "new" }
        format.json { render json: @repair.errors, status: :unprocessable_entity }
      end
    end
  end
end

そしてこれは私が/repair/new.jsonから取得したJSONです:

{"batterij":null,"batterijklep":null,"bon":null,"branch_id":null,"carkit":null,"client_id":null,"created_at":null,"datum_bon":null,"headset":null,"id":null,"imei":null,"intake":"2013-02-01T23:29:10Z","klacht":null,"klantnaam":null,"lader":null,"merk":null,"pickup":null,"prijsindicatie":null,"schade_scherm":null,"schade_toestel":null,"telefoon":null,"updated_at":null}

ちなみに、ブランチの割り当ては問題なく機能します...(newメソッドで指定したIPを使用していないため、現在はnullになっています)

私を助けてください... :-(

ロビン

4

1 に答える 1

0

解決しました!!

何よりもコードは問題なく機能します。問題は私の見解では<%なく、サブフォームが表示されないことでした。<%=ええと。

于 2013-02-03T13:06:54.223 に答える