(콜라주 모델이 없습니다. 문제가 될 수 있습니까?)아름다운 형태 (HAML, Rails, Formtastique, Mongoid)가 잘못된 점은 무엇입니까?
HAML, Rails 및 Mongoid에서 양식을 만들려고하고 있으며 각 필드의 이름을 올바르게 지정할 수 없습니다.
콜라주는 15 개의 Works 그룹으로, "slide_number"라는 열이 있습니다.이 열은 콜라주에있는 슬라이드 번호이거나 그렇지 않은 경우에는 nil입니다.
이
은 (_form.html.haml에서) 선이 나에게 문제를주고 있습니다 := f.input "slide_"+(index+1).to_s, :collection => Work.all.map{|w| [w.name, w._id]}
나는 양식이 렌더링되는 다음 줄을 있지만, 모든 드롭 다운 때 I "하나"등을 표시하는 경우 양식을 제출하십시오. 모든 양식의 이름이 같기 때문에 마지막 양식의 정보 만 가져옵니다.
NoMethodError in Collage#edit
Showing /Users/nickgoddard/codebase/subrosa/app/views/collage/_form.html.haml where line #7 raised:
undefined method `slide_1' for []:Array
어떤 도움이 많이 감사 :
= f.input :one, :collection => Work.all.map{|w| [w.name, w._id]}
collage_controller.rb
def edit
@collage = Work.excludes(:slide_number => nil).order_by([:slide_number, :asc])
@work = Work.all.order_by([:slide_number, :asc])
slides = Array.new
15.times do |index|
if Work.where(:slide_number => index+1).first
slides << Work.where(:slide_number => index+1).first.id
else
slides << nil
end
@slides= slides
end
end
_form.html.haml
= semantic_form_for :collage do |f|
- @slides.each_with_index do |slide, index|
= f.input "slide_"+(index+1).to_s, :collection => Work.all.map{|w| [w.name, w._id]}
.actions
= f.commit_button
이 내가 오류입니다. f.input을 수행 한 후 첫 번째 애트리뷰트가 무엇인지 이해하지 못한다.
당신은 콜라주를 기반으로 양식을 확인하려면이 콜라주 모델을 사용하는 것이 더 쉽습니다. – zeeraw