RoR:嵌套属性undefined方法`build

时间:2015-06-26 18:45:12

标签: ruby-on-rails controller nested-attributes fields-for

我试图加入"客户"形成一个嵌套的fields_for以同时添加他的地址。 按照此视频:link显示了我需要的内容。

这是我的代码:

cliente model =>

class Cliente < ActiveRecord::Base

 has_one :local
 accepts_nested_attributes_for :local


end

local model =&gt;

class Local < ActiveRecord::Base
 belongs_to :cliente


end

cliente controller =&gt;

def new
 @cliente = Cliente.new
 @cliente.build_local
end
def cliente_params
  params.require(:cliente).permit(:name, :telefone, :celular, :email, :local_attributes => [:logra, :cep, :uf, :city, :km])
end

cliente view

  <%= f.fields_for :local do |ff| %>

  <td>   <%= ff.text_field :km %> </td>

错误= 未定义的方法`build_local&#39;为# 在cliente_controller.rb中

2 个答案:

答案 0 :(得分:1)

在创建@app.route('/', methods=['GET', 'POST']) 对象之前,首先需要创建local对象

cliente

答案 1 :(得分:0)

试一试 -

@cliente.build_local()

而不是 -

@cliente.build_local