プロジェクトの状態を関係で表示する際に問題が発生しました。Rails:すべてのプロジェクトを表示中にエラーが発生しました
task.rbモデル:
class Task < ActiveRecord::Base
belongs_to :project
has_one :status
has_one :kind
validates :title, presence: true, length: { maximum: 200 }
validates :alias, length: { maximum: 200 }
validates :mail_cc, length: { maximum: 200 }
validates :description, presence: true
validates :keywords, length: { maximum: 200 }
end
status.rbモデル:
を閉じA)オープンB)試験C):ステータス値を持つ3つのオブジェクトを有する
class Status < ActiveRecord::Base
belongs_to :task
belongs_to :project
=begin
OPEN
TESTING
CLOSED
=end
validates :value, presence: true
端
projects/index.html.erb
<%= link_to "New", new_project_path %> |
<%= link_to "Active", projects_path(active: "active") %> |
<%= link_to "All", projects_path %>
<hr>
<h3>Projects</h3>
<hr>
<table class="table table-hover">
<thead>
<tr>
<th>Name</th>
<th>Status</th>
<th>Actions</th>
</tr>
</thead>
<% @projects.each do |project| %>
<tr>
<th><%= link_to project.name, project %></th>
<th><%= project.status.value %></th>
<th>
<%= link_to "Show", '#' %> |
<%= link_to "Destroy", project_path(project), method: :delete %>
</th>
</tr>
<% end %>
</table>
ステータスがすべての場合は正常です。 「オープン」または「テスト」または「クローズド」ステータスの別のプロジェクトを作成すると、エラーが発生します。
これは、新しいプロジェクトを作成しますが、同じステータスを持つ複数のプロジェクトを表示することはできません。
の場合を扱う
プロジェクトにはステータスが必要です。デフォルトのプロジェクトを設定するか、プロジェクトの有効性を確認することができます。 – engineersmnky