2012-09-16 3 views
3

양식을 제출해야하는 간단한 앱에서 작업하고 있습니다. 두 가지 모델을 만들었습니다.보호 속성을 대량 지정할 수 없습니다. 사용자

user.rb

class User < ActiveRecord::Base 
    attr_accessible :email 

    has_many :item 
end 

대신 사용자 양식보기를 사용하여 사용자를 만드는

class Item < ActiveRecord::Base 
    attr_accessible :user_id 

    belongs_to :user 
end 

item.rb, 내가 사용하여 사용자를 만들려고 해요 항목 양식보기.

항목/_form.html.haml

= nested_form_for @item do |form| 

    = form.fields_for :user do |builder| 
    = builder.text_field :email 

    = form.submit "Save" 

내가 여기서 뭔가를 놓친 건가? nested_form_for btw를 사용하고 있습니다. 고맙습니다.

답변

0

을 시도하십시오.

나는

def new 
    @item = Item.new 
    @item.user = User.new # I added this line. 
end 

그런 다음 나는 item.rb에게 답변을

class Item < ActiveRecord::Base 
    attr_accessible :user_attributes 

    belongs_to :user 
    accepts_nested_attributes_for :user 
end 
+0

기존 사용자의 항목을 만들려면 어떻게해야합니까? –

0

attr_accessible :email :user 
+0

감사를 업데이트하지만 작동하지 않았다 내 items_controller.rb 업데이트되었습니다. accepts_nested_attributes_for : 사용자 체크 세부 사항을 여기에 : http://apidock.com/rails/ActiveRecord/NestedAttributes/ClassMethods 마법 내가 모르는가는이 아니라면 – Ben

+0

당신은 추가해야합니다, 중첩 된 형태의 작품을 만들기 위해/accepts_nested_attributes_for 을 상품 모델로 추가하십시오. – trueunlessfalse

+0

@trueunlessfalse 나는 그것을 포함 시키려고했지만 이메일 필드를 숨 깁니다. – Ben

0

내 문제에 대한 답을 찾을 수이 코드

class Item < ActiveRecord::Base 
    attr_accessible :user_id 
    accepts_nested_attributes_for :user  # <--- This should help 

    belongs_to :user 
end 

class User < ActiveRecord::Base 
    attr_accessible :email 

    has_many :items       # <--- Typofix 
end 
관련 문제