我正在为我的Bootcamp sinatra项目制作一个网络应用程序,该程序可跟踪一系列视频游戏。我想在我的许多路线上使用。填写完我的编辑表单并点击提交后,我被带到sinatra页面,告诉我我需要张贴路线。我已经有一个补丁路由。
我发了一条帖子,但是所有编辑都被忽略了。我还尝试过再次渲染视图,而不仅仅是重定向。
这是我的编辑表单:
<input id="hidden" type="hidden" name="_method" value="patch">
<input type="text" name="name" placeholder="Name" value=<%=@console.name%> > <br />
<input type="text" name="company" placeholder="Company" value=<%=@console.company%>> <br />
<input type="date" name="date_added" placeholder="Date added" value=<%=@console.date_added%> ><br />
<input type="integer" name="generation" placeholder="Generation" value=<%=@console.generation%> > <br />
<input type="submit" value="submit">
</form>
and my patch route:
patch '/consoles/:slug' do
if logged_in?
@console = Console.find_by_slug(params[:slug])
@Console.update(:name => params[:name], :company => params[:company], :date_added => params[:date_added], :generation => params[:generation])
@console.save
redirect "/consoles/#{@console.slug}"
else
redirect "/consoles/#{params[:slug]}/edit"
end
end
我想重定向到具有新编辑的显示视图。状路由是否可行,还是应该将路由切换为使用ID?有什么办法可以同时将两者结合在一起?