我仍然不熟悉使用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
形式,控制器动作是我被卡住的地方。
答案 0 :(得分:1)
更新: 我找到了自己问题的答案。 我重构了我原来的帖子请求以反映这一变化:
post "/lists/:id" do
@list = List.find(params[:id])
if @list.update(params)
redirect "/lists/#{@list.id}"
else
redirect "/lists/edit"
端 端