我对Sinatra很新,我正试图从部分数据库中访问数据库。
以下是我想要在页面上显示的部分示例:
<% @articles.each do |article| %>
<ul>
<li> <%= article.articleName %> </li>
</ul>
<% end %>
如果我只是设置一个像
这样的路线,它可以正常工作get '/articles' do
@article = Articles.all
erb :articles
end
和/ articles页面有类似
的内容<% @articles.each do |article| %>
<article>
<p> <%= article.articleName %> </p>
<p> <%= article.articleBody %> </p>
</article>
<% end %>
但是,如果我把它放到一个部分中,似乎上面的代码不起作用。
任何帮助将不胜感激。我确定我错过了一些简单的事情。
答案 0 :(得分:4)
Sinatra没有像Rails这样的内置部分内容,但您可以使用普通模板作为部分模板,如:http://www.sinatrarb.com/faq.html#partials
中所述示例:
文章模板:
<% @articles.each do |article| %>
<%= erb :'partials/_article', :layout => false, :locals => { :article => article } %>
<% end %>
partials / _article模板:
Title <%= article.title %>
...
PS:从模板根目录设置部分路径。这个奇怪的语法:'partials/_article'
是一个Sinatra技巧,它使您能够访问subdir中的模板,这不起作用(我认为)::partials/_article
或'partials/_article'
。
答案 1 :(得分:2)