ですから、私は愚かな質問でコミュニティを煩わせたくないので、ここで質問をするのを延期してきましたが、とにかく今すぐ助けを求めるつもりです。
私はRubyonRailsを初めて使用します。おそらくタイトルからお読みになったと思いますが、サブフォームに問題があります。より具体的には、親オブジェクトをクライアントオブジェクトに割り当てることです。従業員が修理(携帯電話)を登録して追跡できるシステムを構築しています。でクライアントオブジェクトを構築していますが@repair = Repair.new
、これは正常に機能しますが、で設定しようとするClient
と、修復@repair = Client.new
のオンが残ります。:client_id
null
これが私の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になっています)
私を助けてください... :-(
ロビン