현재 저는 Rails 3에서 "sports-managing-and-results-gathering-app"와 같은 것을 만들고 있습니다.이 App에서는 여러 여러 결과 유형 (심장 박동, km 거리, 반복, ...)을 가질 수있는 연습. 그리고 선호하는 순서대로 결과 유형을 정렬 할 수 있어야합니다. 그래서, 이것은 고전적인 다 - 대 - 다 관계입니다."Association expected, got String"many-to-many 연관
나는 다음과 같은 마이그레이션 함께했다 :
이 formtastic 코드가 잘 작동class CreateExercises < ActiveRecord::Migration
def self.up
create_table :exercises do |t|
t.integer :user_id
t.string :name
t.text :beschreibung
t.integer :resulttype_id
t.boolean :active, :default => true
t.timestamps
end
end
def self.down
drop_table :exercises
end
end
class CreateResulttypes < ActiveRecord::Migration
def self.up
create_table :resulttypes do |t|
t.string :name
t.string :einheit
t.text :beschreibung
t.timestamps
end
end
def self.down
drop_table :resulttypes
end
end
class CreateExercisesResulttypesJoin < ActiveRecord::Migration
def self.up
create_table :exercises_resulttypes, :id => false do |t|
t.integer "exercise_id"
t.integer "resulttype_id"
end
add_index :exercises_resulttypes, ["exercise_id", "resulttype_id"]
end
def self.down
drop_table :exercises_resulttypes
end
end
:
<%= semantic_form_for(@exercise) do |f| %>
<%= f.inputs do %>
<%= f.input :name %>
<%= f.input :beschreibung %>
<%= f.input :resulttype %>
<%= f.input :active %>
<% end %>
<%= f.buttons %>
<% end %>
문제는이 코드와 나는 resulttypes을 정렬 할 수없는, 여기 각 운동은 각 결과 유형을 한 번만 가질 수 있습니다. (JQuery와 코드 제외)이에 resulttype 양식 코드 : 그래서 나는 formtastic 변경 여러 번 주문을 나는 "듀얼 목록 상자"가 이제
<div id="conn_ctrl" class="float_left center">
<div class="float_left center">
<%= f.select :resulttypes, @resall.collect{|d| [d.name,d.id]}.sort, {}, { :multiple => true, :class => "conn_select" } %><br>
</div>
<div class="float_left center">
<%= f.select :resulttypes, '', {}, { :multiple => true, :id => "exercise_resulttypes_save", :class => "conn_select" } %><br>
</div>
<div style="clear: both"></div>
<%= tag("input", { :type => "button", :id => "remove", :class => "dualbuttons", :name => "", :value => "<<" }, false) %>
<%= tag("input", { :type => "button", :id => "add", :class => "dualbuttons", :name => "", :value => ">>" }, false) %>
<%= tag("input", { :type => "button", :id => "up", :class => "dualbuttons", :name => "", :value => "Up" }, false) %>
<%= tag("input", { :type => "button", :id => "down", :class => "dualbuttons", :name => "", :value => "Down" }, false) %><br>
</div>
<div style="clear: both"></div>
을하고 나는이 특정 운동에 운동을 추가하는 방법 I 그것처럼. 내가 양식을 제출하면 는하지만, 나는이 오류가 난 그게 무슨 뜻인지 아무 생각이 없다 :
Resulttype(#-614051528) expected, got String(#-608366078)
제출 된 매개 변수는 다음과 같습니다
가{"commit"=>"Create Exercise",
"authenticity_token"=>"v1l9zfxdxIJbdjZx6SsZ5tGuKMrlioBg+C9orSmVarA=",
"utf8"=>"✓",
"exercise"=>{"name"=>"dddd",
"beschreibung"=>"ddddd",
"resulttypes"=>["5",
"3",
"1"],
"active"=>"1"}}
이 현재 나에게 미친 약간 드라이브를. 왜 이런 일이 발생했는지 알기를 바랍니다.
아, 정말 괴롭습니다. 답변 해 주셔서 감사합니다. 현재 작동 중입니다.) –