添加新列后是否有另一种重构方法:Sinatra Web App

时间:2018-04-29 02:23:21

标签: ruby-on-rails web-applications sinatra

我仍然不熟悉使用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 :(得分:1)

更新: 我找到了自己问题的答案。 我重构了我原来的帖子请求以反映这一变化:

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

端   端