2

에 대한 필드 form_for :레일 : 내가 함께 모델있어 해시

class Product < ActiveRecord::Base 
    attr_accessible :category, :description, :img_url, :name, :price, :quantity, :tags 

    serialize :tags, Hash 
end 

불행히도 그것은

정의되지 않은 방법을 마련 레일이

<%= form_for @product do |f| %> 
    <%= f.label :"tags[:condition]_new", "new" %> 
    <%= f.radio_button :"tags[:condition]", "New", checked: true %> 
    <%= f.radio_button :"tags[:condition]", "Used" %> 
<% end %> 

에 대한 양식을 만들려고 #Product : 0x007fd26d965810의 태그 : [condition] ' < % = f.radio_button : "tags [: condition]", "Used"%> < - 2 라인에만 해당됩니다. 첫 번째는 okey입니다. 왜?!

나는 왜 그 방법을 넣으려고하는지 알 수 없습니다. 해시 값에 적합한 필드를 만드는 방법을 알고 있습니까? + 2 번째 f.radio_button에서만 실패하는 이유는 무엇입니까?

답변

2

두 번째 라디오 버튼에 값을 설정하지 않았으므로 시도해보십시오. 정상적으로 작동합니다. 이 예외를 발생 모델에 정의 된 방법이 없지만

<%= f.radio_button :"tags[:condition]", "Used", checked: false %> 

당신이 어떤 값을 전달하지 않을 경우로서, 다음 FormHelper 클래스는 해당 값을 얻기 위해 @product'name[:condition]' 메소드를 호출합니다.