父对象的子表单

时间:2013-02-01 23:34:32

标签: ruby-on-rails ruby

所以我一直在这里提出一个问题,因为我不想用愚蠢的问题打扰社区,但我现在要请求帮助。

我对Ruby on Rails很新,而且你可能已经从标题中读到了,我的子表单遇到了问题。更具体地说,将父对象分配给客户端对象。我正在为我的工作建立一个系统,员工可以在那里注册维修(手机)并跟踪它们。我正在使用@repair = Repair.new构建客户端对象,该工作正常,但是当我尝试使用Client设置@repair = Client.new时,修复中的:client_id保持{{1} }}

这是我的repair.rb :(某些字段是荷兰语,请忽略它)

null

client.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

repairs_controller.rb :(我已经把不相关的方法排除了,我厌倦了4个空格:P)

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

这是我从/repair/new.json得到的JSON:

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

顺便说一句,分支分配完美无缺......(现在它是空的,因为我没有使用我在{"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} 方法中指定的IP)

请帮帮我......: - (

罗宾

1 个答案:

答案 0 :(得分:0)

解决了!!

上面的代码完美运行,我的视图中的问题是<%而不是<%=,这使我的子窗体无法显示。 Duhh。