Не удалось отобразить данные из базы данных в Ruby on Rails 5 - PullRequest
0 голосов
/ 23 мая 2018

У меня есть несколько таблиц в базе данных: tickets и ticket_web_users .

Таблица ticket_web_users содержит идентификатор , электронная почта & пароль поля.

В то время как

таблица tickets имеет id , ticket_no и web_user_id .

и

таблица ticket_web_users : id , web_user_id & ticket_id

Каждый билет имеет много пользователей веб-сайта.Здесь, на моем show.html.erb , я хочу отобразить информацию о билете, включая веб-пользователей определенного билета .Короче говоря, я хочу, чтобы отображал ВСЕХ пользователей этого билета .Вот мой контроллер: tickets_controller.rb

module TicketManagement
 class TicketsController < ApplicationController
  before_action :get_ticket_web_user, only: [:show]

  def show
  end

  def get_ticket_web_user
   @web_ticket_users = TicketWebUser.where('ticket_id=?',params[:id])
  end
 end
end

Модели:

ticket.rb:

class Ticket < ApplicationRecord
  has_many :ticket_histories
  belongs_to :user
accepts_nested_attributes_for :ticket_histories
end

ticket_web_user.rb:

class TicketWebUser < ApplicationRecord
  belongs_to :web_user
end

Вот мой view show.html.erb:

  <% @web_ticket_users.each do |web_ticket_user| %>
    <%= text_field_tag 'web_user',value: web_ticket_user.email , class: 'form-control'%>
  <% end %>

Отображениеошибка: NoMethodError в TicketManagement :: Tickets # show, неопределенный метод `email 'для TicketWebUser: 0xb045bab8> Я искал некоторые документы, которые могут помочь мне решить мою проблему, включая Ruby on Rails Guidesв интерфейсе запросов Active Record , но я не могу найти метод с такой же проблемой, как у меня.

1 Ответ

0 голосов
/ 23 мая 2018

Вы забыли добавить ассоциацию в ticket_web_users

belongs_to :ticket

и еще одну вещь, которую вы забыли добавить ticket_id в таблицу ticket_web_users?

Можете ли вы предоставить код модели билета и ticket_web_user истолбец в таблице ticket_web_users?

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