我对 Sinatra 相当陌生,我正在尝试从部分内部访问数据库中的数据。
这是我想要在页面上显示的部分的示例:
<% @articles.each do |article| %>
<ul>
<li> <%= article.articleName %> </li>
</ul>
<% end %>
Run Code Online (Sandbox Code Playgroud)
如果我只是设置一条像这样的路线,效果很好
get '/articles' do
@article = Articles.all
erb :articles
end
Run Code Online (Sandbox Code Playgroud)
和 /articles 页面类似
<% @articles.each do |article| %>
<article>
<p> <%= article.articleName %> </p>
<p> <%= article.articleBody %> </p>
</article>
<% end %>
Run Code Online (Sandbox Code Playgroud)
但是,如果我将上面的代码放入部分代码中,它似乎不起作用。
任何帮助,将不胜感激。我确信我错过了一些简单的事情。
Sinatra 没有像 Rails 那样内置部分,但您可以使用普通模板作为部分,如: http: //www.sinatrarb.com/faq.html#partials中提到的
例子:
文章模板:
<% @articles.each do |article| %>
<%= erb :'partials/_article', :layout => false, :locals => { :article => article } %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
部分/_文章模板:
Title <%= article.title %>
...
Run Code Online (Sandbox Code Playgroud)
PS:设置从模板根目录到部分的路径。这种奇怪的语法:'partials/_article'是 Sinatra 的技巧,它使您能够访问子目录中的模板,这不起作用(我认为)::partials/_article或'partials/_article'.
| 归档时间: |
|
| 查看次数: |
4095 次 |
| 最近记录: |