Я создаю новый файл .html.erb, в котором я пытаюсь составить список всех команд и их противников.У меня есть 2 таблицы: таблица пользователей (команды) и таблица рекордов.В таблице записей есть 2 столбца (user_id, opptor_user_id), ссылающихся на одну и ту же таблицу пользователей.
Мой файл просмотра:
<% @record.each do |record| %>
<tr>
<td><%= record.user.name %></td>
<td><%= record.opponent_user_id %></td>
</tr>
<% end %>
Вместо того, чтобы использовать record.user_id, я смог заменить идентификаторс именем пользователя, используя record.user.name.Однако я не могу сделать то же самое с командой соперника.Я пытался использовать
<td><%= record.opponent_user_id.user.name %></td>
, но это не сработало.Как я могу заменить оппонент_пользователя_для фактического имени?
Дополнительная информация ниже
Контроллер
def prof
@user = User.find(params[:id])
@record = Record.where(user_id: @user.id)
end
Схема таблицы
create_table "users", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
t.string "name"
t.string "email"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.index ["email"], name: "index_users_on_email", unique: true
end
create_table "records", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
t.bigint "user_id"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.integer "opponent_user_id"
t.index ["user_id"], name: "index_records_on_user_id"
end
Спасибо заПомогите.Я все еще новичок в рельсах.Любые дополнительные отзывы о том, что я не должен делать таким образом, будут также оценены.