그래서 저는 청소부 헌트를 구성하는 작업이있는 프로젝트에서 작업하고 있습니다. 따라서 사용자가 특정 사냥을 클릭하면 show.html.erb 파일에 사냥뿐만 아니라 해당 사냥과 관련된 작업도 표시됩니다. 두 모델 (Hunt.rb 및 Task.rb)에는 "has_and_belongs_to_many"관계가 있습니다. 내 컨트롤러에는 원래이 코드가 있었지만 특정 사냥과 관련된 작업 대신 데이터베이스의 모든 작업을 보여주었습니다.많은 오류가 있고 많은 오류 - * _development.hunts_tasks '가 존재하지 않습니다.
def show
@hunt = Hunt.find(params[:id])
@title = @hunt.name
@tasks = Task.paginate(:page => params[:page])
end
그래서 해 보았습니다.
def show
@hunt = Hunt.find(params[:id])
@title = @hunt.name
@tasks = @hunt.tasks.paginate(:page => params[:page])
end
그러나 다음이 오류 던졌습니다 : 나는
<h1>Show Hunt</h1>
<table>
<tr>
<td class="main">
<h1>
<%= @hunt.name %>
</h1>
<ul>
<% @tasks.each do |task| %>
<%= render task %>
<% end %>
</ul>
</td>
</tr>
</table>
어떤 아이디어를 엉망으로하고있어 : 여기
ActiveRecord::StatementInvalid in Hunts#show
Showing /****/views/hunts/show.html.erb where line #10 raised:
Mysql2::Error: Table '***_development.hunts_tasks' doesn't exist: SELECT `tasks`.* FROM `tasks` INNER JOIN `hunts_tasks` ON `tasks`.`id` = `hunts_tasks`.`task_id` WHERE `hunts_tasks`.`hunt_id` = 100 LIMIT 30 OFFSET 0
는 show.html.erb입니까?
'hunts_tasks' 조인 테이블을 생성 했습니까? –
'hunts_tasks' 테이블을 만들었습니까? 'has_and_belongs_to_many'는 당신이 여전히 관계를 표현할 테이블을 생성 할 것을 요구합니다. 이 경우'hunt_id'와'task_id'를 가진 간단한 테이블 일뿐입니다. [documentation] (http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html#method-i-has_and_belongs_to_many) –