С моим сайтом React Cruise Ship на GitHub https://github.com/RobertWSON/Personal-ship-project/tree/robs-shipslist-under-cruiselines, это ветка robs-shiplist-under-cruiselines, мне удалось получить список кораблей, работающий с кнопками Cruise Line.
Сейчас я пытаюсь найти лучший способ сделать следующую часть. Следующая часть относится к тому, как это должно работать, когда вы нажимаете на судно в Списке с помощью кнопки Круизной Линии в http://localhost:3000/cruiselines.. Она предназначена для перехода на страницу обзора для этой Круизной Линии, и эта страница обзора можетиметь более одного корабля. Корабль подобрали по идентификатору на странице обзора. Я еще не определился, как сделать так, чтобы на странице обзора отображалось более одного корабля для его проверки и получения правильной круизной линии.
Компонент обзора для отображения отзывов находится на клиенте / компонентах / обзоре. .jsx
У меня уже есть клиентский / api / api.js-интерфейс для getCruiseLine, getShips и getShip.
Бэкэнд имеет файлы базы данных server / db / dbcruises.js и dbships.js.
Файлы маршрутов бэкэнд-сервер / routs / cruises.js и ship.js. У меня также есть server / server.js в бэкэнде.
У меня есть код для server / db / dbcruises.js и ниже этого dbships.js ниже.
const environment = process.env.NODE_ENV || 'development'
const config = require('../../knexfile')[environment]
const db = require('knex')(config)
function getCruiseLines (testConn) {
const conn = testConn || db
console.log('server/db/dbcruises.js getCruiseLines called!')
//Line below connects to Ships Table
return conn('Ships')
//Line below picks out each distinct Cruise Line (only once) from Ships Database
.distinct('cruise_line')
//Line below puts Cruise Line Headings in Alphabetical Order.
.orderBy('cruise_line')
.then(dbResult => {
console.log('dbcruises.js - GOT CRUISE LINES:',dbResult)
return dbResult
})
}
//The Function below is used for getting Cruise Line on Review Page
function getCruiseLine(testConn) {
}
module.exports = {
getCruiseLines
}
const environment = process.env.NODE_ENV || 'development'
const config = require('../../knexfile')[environment]
const db = require('knex')(config)
function getShipsList(cruise_line, testConn) {
const conn = testConn || db
console.log('server/db/dbships.js getShipsList called!')
//Line below connects to Ships Table
return conn('Ships')
//Line below picks out the Ships to display for each Cruise Line
.select('id','cruise_line','ship_name')
//Line below picks up the Cruise line from where the Ships names
have come from
.where('cruise_line', cruise_line)
//Line below puts Ships in Alphabetical Order.
.orderBy("ship_name")
.then(dbResult => {
console.log('dbships.js - GOT SHIPS LIST:', dbResult)
return dbResult
})
}
//The Functions below are used for getting Ships on Review Page
function getShips(testConn) {
const conn = testConn || db
console.log('server/db/dbships.js getShips called!')
//Line below connects to Ships Table
return conn('Ships')
//Line below
}
function getShip(testConn) {
const conn = testConn || db
console.log('server/db/dbships.js getShip called!')
//Line below connects to Ships Table
return conn('Ships')
}
module.exports = {
getShipsList
}
Ожидаемые результаты состоят в том, что в верхней части страницы просмотра должна быть указана правильная линия круиза. Под заголовком должен быть каждый Круизный корабль с его Обзором.
Фактические результаты, которые я выбрал на Карнавальной легенде, например, из Списка кораблей Карнавала, переходят на http://localhost:3000/cruiselines/Carnival#Carnival%20Legend. Отображается только навигация страницы ибольше ничего, может ли это быть связано с моим рендерингом и как вы избавляетесь от% 20?
Просто подумав, могу ли я на самом деле получить корабли для каждой страницы обзора так же, как я делал для кораблейсписок?
Я просто хотел бы получить представление о том, как я могу двигаться вперед с этим, и любые идеи будут высоко ценится