2011-04-07 5 views
1

formtastic에 어려움이 있습니다. 내가 할 수있는 한 상황을 먼저 스케치하려고 노력할 것이다.formtastic으로 해시로 배열 양식 생성

나는 publisher, id 및 기타 기본 애셋을 가진 onlinescore이라는 모델을 가지고 있습니다. 그러나 속성 중 하나는 urls 인 배열입니다.

[{"url" => "http://www.example0.com", "description" => "blabla0"}, 
{"url" => "http://www.example1.com", "description" => "blabla1"}, 
{"url" => "http://www.example2.com", "description" => "blabla2"}] 

내가 지금 새로운 onlinescore를 작성하는 양식을하고 있는데 그것을 위해 나는 방식이 필요합니다

{"url" => "http://www.example.com", "description" => "blabla"} 

그래서 배열은 다음과 같습니다 : 그 urls이 같은 내용에 해시입니다 해당 배열에 대한 입력을 수집하십시오. 어떻게 든 URL 배열로 매핑되는 2 개의 필드 ("url"및 "description")를 갖고 싶습니다. 일단 작동하면 사용자가 여러 URL을 한 번에 추가 할 수있게하려고합니다. 예를 들어 '새 URL 추가'버튼을 사용하면 다른 필드 2 개를 생성 할 수 있습니다.

는 이미 이런 예를 들어 몇 가지 방법에 달성하려고 :

undefined method `model_name' for Hash:Class

는 I는 새로운 입력 방식을 정의하기 위해 시도 : score_url하지만 오류를 범

#rest of form 
<% @onlinescore.url.each do |link| %> 
    <% form.inputs :for => link do |urls| %> 
    <%= urls.input :url, :as => :url %> 
    <%= urls.input :description, :as => :string %> 
    <% end %> 
<% end %> 
#rest of form 

두 필드의 튜플이 필요하고 하나도 필요하지 않기 때문에 그걸로 멀리 가지 않았다. 아직 그 일을 할 수있는 방법을 찾지 못했다. 나는 모델이없는 형태를 봤지만, 나는 그것이 내가 필요로하는 것이라고 정말로 생각하지 않는다. ...

아무도 이것을하는 방법을 알고 있냐?

답변

1

여기서 주요한 문제는 (그리고 'Hash : Class'오류에 대한 '정의되지 않은 메소드`model_name'의 원인) 필드 집합을 만들려고하는 각 URL이 ActiveRecord가 아닌 해시이거나 액티브 모델. 해시 배열 대신 이러한 항목을 모델 배열로 나타낼 수 있다면 괜찮을 것이라고 생각합니다. Formtastic은 모델에 가장 적합합니다. Rails는 동일한 기능을하는 프레임 워크입니다. 해시는 여기서 작동하지 않습니다. 죄송합니다. Formtastic이 너무 많아서 Rails는 각 항목을 호출 할 수 있기를 기대합니다.