Мои таблицы has_many - own_to в ruby ​​on rails, похоже, не связаны между собой.

Я сделал таблицу "hospital_review" и таблицу hospital_review_comments с соотношением 1:N на рубине на рельсах. Файл переноса таблицы Hospital_review выглядит следующим образом.

class CreateHospitalReviews < ActiveRecord::Migration
def change
     create_table :hospital_reviews do |t|
       t.string :written_time
       t.string :writter
       t.integer :user_id
       t.string :category
       t.string :hospital_name 
       t.text :content
      end
   end

и 'hospital_review_comments' похож на это.

   def change
     create_table :hospital_review_comments do |t|
       t.integer :user_id
       t.integer :post_id
       t.string :writter
       t.string :written_time
       t.text :content

      t.timestamps null: false
    end
  end

Файл модели таблицы hospital_review выглядит следующим образом.

belongs_to :user
has_many :hospital_review_comments

Таблица 'hospital_review_comments' похожа на это.

belongs_to :user
belongs_to :hospital_review

Я хотел показать каждый обзор больницы и комментарии, которые на нем написаны, поэтому я запрограммировал приведенные ниже коды в "show.html.erb".

<% @post.hospital_review_comments.each do |comment| %>
<p><strong><%=comment.user.username%></strong> <%=comment.content%></p>

и это действие шоу в файле контроллера.

def show
@post = HospitalReview.find(params[:id])
@hospital_comment_writer = User.where(id: session[:user_id])[0]
end

но ошибка произошла с сообщением

'SQLite3::SQLException: no such column:'. 

Я попробовал 'foregin_key' в файле модели таблицы hospital_review_comments, но это не сработало. Я не могу понять причину, по которой произошла ошибка. Пожалуйста, помогите!

2 ответа

Вам не хватает hospital_review_id в вашей таблице hospital_review_comments

Я думаю, что вы ошибочно добавили post_id в таблице hospital_review_comments, которая должна быть hospital_review_idВот воля к работе.

Еще вы можете добавить foreign_key Вариант в ассоциации следующий.

has_many: hospital_review_comments, foreign_key: 'post_id'

Другие вопросы по тегам