私のアプリケーションでは、ユーザーは宿題を完了したと言うことができます。Rails - フィールドにデータが設定されている場合にイメージをレンダリングする方法は?
「completed_on」フィールドには、宿題が完了した日付が入力されます。完了していない場合は、フィールドは空白です。
宿題が完了している場合はティック、宿題が完了していない場合はxを表示します。
「completed_on」という列は、「宿題」という表にあります。
を私のモデルで:
def getCompletion
homework_students.where("completed_on is not null")
end
ビュー:私もこれを試してみました
<% if homework.getCompletion %><%= image_tag "fi-check.svg", class: "homework_student_complete" %><% else %><%= image_tag "fi-x.svg", class: "homework_student_complete" %><% end %>
:
class Homework < ActiveRecord::Base
has_many :homework_students, :class_name => 'HomeworkStudent'
class HomeworkStudent < ActiveRecord::Base
belongs_to :homework, :class_name => 'Homework'
は、私は私のために動作しません、以下を試してみました
モデル
def completed?
!homework.homework_student.completed_on.blank?
end
ビュー
<% if homework.completed? %>
<%= image_tag "fi-check.svg", class: "homework_student_complete" %><% else %><%= image_tag "fi-x.svg", class: "homework_student_complete" %><% end %>
どんな指導を感謝しています。
UPDATE
これは動作します:
def completed?
homework_students.where("completed_on is not null").length == 0
end
<% @homeworks.each do |homework| %>
...
<td height="1" class="text-center"><% if homework.completed? %>
<%= image_tag "fi-check.svg", class: "homework_student_complete" %>
<% else %>
<%= image_tag "fi-x.svg", class: "homework_student_complete" %>
<% end %></td>
...
<% end %>
ではActiveRecord ::関係法上の
詳細情報:ような何かをしてみてください。たぶん '<%= homework.completed? %> 'を診断として使用します。 – tadman