Ruby - NoMethodError в ReviewsController # index - PullRequest
0 голосов
/ 28 апреля 2020

введите описание изображения здесь

Попытка вызвать рецензии для текущего вошедшего в систему пользователя, чтобы на этой указанной c странице просмотра отображались все рецензии для этого текущий пользователь. Я также попробовал reviews = current_user.reviews, и он все еще не работает. Я довольно новичок в рельсах. Любая помощь будет принята с благодарностью: D

введите описание изображения здесь

Ответы [ 2 ]

0 голосов
/ 28 апреля 2020

Я нашел самый простой способ поиграть с «что должно работать», это поэкспериментировать в консоли.

Я бы проверил следующие вещи:

  1. Это записи в таблице обзоров имеют столбец user_id.

Найдите в таблице schema.rb таблицу обзоров и убедитесь, что в ней есть столбец user_id, если ее нет, следующим шагом является добавление столбца в стол через рельсовую миграцию.

То, что модель User и модель Reviews связаны.

app / models / review.rb должно содержать:

belongs_to :user

app / models / user.rb содержать:

has_many :reviews
Теперь поиграйте с ним в консоль рельсов.

Откройте свой терминал. Откройте консоль rails:

bundle exec rails console

Я обычно использую небольшую стенографию в терминале, называя мои переменные одной буквой только для скорости.

Например, возможно, начните с просмотра последнего пользователя .

>  u = User.last  
>  u.reviews   # see if it works here, much easier to debug and try again

Создайте нового пользователя и добавьте к нему ..

>  v = User.new(name: "Bob", password: "blah", password_confirmation: "blah")
>  r = Review.new( user: v, ... set other fields as needed.. ) 
>  v.reviews

Надеюсь, они помогут вам двигаться вперед

0 голосов
/ 28 апреля 2020

Я настоятельно рекомендую прочитать https://guides.rubyonrails.org/getting_started.html. Это довольно просто, но сэкономит много времени.

Я все еще указываю вам направление.

Измените ваше действие index, как показано ниже

def index
  @reviews = current_user.reviews
end

теперь в вашем index.html.erb, итерация @reviews для отображения деталей. Оформить заказ https://guides.rubyonrails.org/getting_started.html#showing - статьи

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...