Редактировать без передачи идентификатора в качестве идентификатора - PullRequest
0 голосов
/ 05 мая 2018

Предположим, у меня есть Список и Редактирование элементов следующей схемы:

STRING key UNIQUE PRIMARY
STRING value

Проблема заключается в том, что при использовании admin-on-rest Редактор использует id по умолчанию для генерации запроса, если он не выполняется, он передается неопределенным. Как я могу изменить это на SimpleForm, чтобы он использовал другой параметр вместо id - в моем случае, key -.

Пример списка и редактирования:

export const ParamList = props => (
<List title = "All params" { ...props} >
    <Datagrid >
        <TextField source = "key" sortable={false} />
        <TextField source = "value" sortable={false} />
        <EditButton />
    </Datagrid>
</List>
);


export const ParamEdit = props => (
<Edit title = {< ParamTitle />} { ...props } >
    <SimpleForm >
        <TextInput source = "key" />
        <TextInput source = "value" />
    </SimpleForm>
</Edit >
);

Когда я отправляю редактирование, делается следующий запрос:

PUT www.randomurl.com/param/undefined

Но я бы хотел, чтобы это было что-то вроде:

PUT www.randomurl.com/param/<item's key>

Я видел, что в документации можно настроить индивидуальные запросы в целом. Но думал, есть ли что-нибудь проще, например, добавить параметр в SimpleForm:

export const ParamEdit = props => (
<Edit title = {< ParamTitle />} { ...props } >
    <SimpleForm id={"key"}>
        <TextInput source = "key" />
        <TextInput source = "value" />
    </SimpleForm>
</Edit >
);

Заранее спасибо.

1 Ответ

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

Как объяснено в документации, правильный и единственный способ сделать это - написать пользовательский restClient. Смотри https://marmelab.com/admin-on-rest/FAQ.html#can-i-have-custom-identifiersprimary-keys-for-my-resources

...