我有这段代码:
# Users page
get '/admin/users' do
@title = "Admin - Users"
erb :admin_users
end
呈现视图时,我在ERB文件中获取HTML但布局文件不呈现。如果我将路线改为'/ users',一切都会好起来的。是什么赋予了?在找到关于如何执行此操作的示例代码并点击此问题后,我最初将用户ERB页面放在子目录“views / admin”中。我认为这是原因,但它似乎是导致问题的URL。有人打过这个或知道一个解决方法吗?
我所有其他观点也都很好。这是我尝试使用URL模式的第一个视图。我也试过这个,但它并没有影响任何事情。
# Users page
get '/admin/users' do
@title = "Admin - Users"
erb :admin_users, :layout => :layout
end
感谢任何帮助。感谢。
答案 0 :(得分:1)
我遇到了同样的问题,请检查布局中您的资产的路径。您应该先添加/
。
<link href='/stylesheets/application.css' rel='stylesheet' type='text/css'>
是正确的。
答案 1 :(得分:0)
如果您使用admin_users
视图的子目录,则应将其保存为views/admin/users.erb
,然后使用
获取'/ admin / users' erb:'admin / users' 端
也许这已经解决了你的问题。如果您需要更多帮助,请告诉我。
我猜你设置管理视图的视图目录与layout.erb
文件的位置不同时会遇到麻烦。您是否尝试将假layout.erb
放入views/admin/
文件夹?
答案 2 :(得分:0)
您没有显示您获得的确切错误。我假设模板“admin_users.erb”是“没有这样的文件或目录”。
你的“erb”电话中缺少一个选项,你应该告诉Sinatra在哪里找到模板。这对我有用:
# Users page
get '/admin/users' do
@title = "Admin - Users"
erb :'admin/admin_users', :layout_options => { :views => 'views/admin' }
end
它使用views/admin/admin_users.erb
views/admin/layout.erb
上呈现模板