我試圖在不同模型上滿足條件時在窗體中顯示某些字段。檢查一個模型中的字段,同時在另一個模型的表單中:Rails
這裏是例子:以上
<%= form_for(@workout) do |f| %>
<%= f.fields_for :workout_exercises do |s| %>
<%= s.collection_select :exercise_id, Exercise.all, :id, :name, { :include_blank => ""} %>
<%= s.label :sets %>:
<%= s.number_field :set %>
<% if @exercise.is_cardio == true %>
<%= s.label :time %>(Minutes):
<%= s.number_field :time %>
<% end %>
<% end %>
<%= f.submit %>
<% end %>
給人一種上is_cardio
沒有方法誤差心是在練習表中的布爾字段
謝謝!
編輯:
class Exercise < ActiveRecord::Base
has_many :workout_exercises
has_many :workouts, :through => :workout_exercises
end
class Workout < ActiveRecord::Base
has_many :workout_exercises
has_many :exercises, :through => :workout_exercises
class WorkoutExercise < ActiveRecord::Base
belongs_to :exercise
belongs_to :workout
end
編輯2:
具體來說,以下是錯誤我得到:
undefined method `is_cardio' for #<Array:0x007fcd3bb93dd0>
@exercise是如何定義的? –
練習 has_many:workout_exercises has_many:workouts,:through =>:workout_exercises – Arel
@RichardBrown我剛剛更新了模型關聯的問題。 – Arel