Есть ли другой способ рефакторинга после добавления нового столбца: Sinatra Web App - PullRequest
0 голосов
/ 29 апреля 2018

Я все еще новичок в использовании Sinatra Framework. Меня попросили добавить новый столбец :description и реорганизовать эту текущую строку кода в моем запросе POST для редактирования нового списка, включив в него столбец :description: @list.update(params.select{|k|k== "name"})

Я не уверен, что он не только реорганизовал его для включения :description, но и сделал его короче.

Вот полный блок запроса POST

post "/lists/:id" do
  redirect_if_not_logged_in
  @list = List.find(params[:id])
  unless List.valid_params?(params)
    redirect "/lists/#{@list.id}/edit?error=invalid list"
  end
  @list.update(params.select{|k|k== "name"})
  redirect "/lists/#{@list.id}"
end

Я добавил новый столбец без проблем, и у меня есть представление о том, что помещать в мои Edit & New формы, действие контроллера - это то, где я застрял.

1 Ответ

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

Обновление: Я нашел ответ на свой вопрос. Я изменил исходный запрос на публикацию, чтобы отразить это изменение:

post "/lists/:id" do
   @list = List.find(params[:id])
if @list.update(params)
  redirect "/lists/#{@list.id}"
else
  redirect "/lists/edit"

конец конец

...