我正在使用Rails 4.2,但是关于partials的Rails 5.0文档,尝试构建搜索部分。 http://guides.rubyonrails.org/layouts_and_rendering.html#using-partials
我正在获取搜索按钮,因此共享部分正在渲染,但是,它似乎没有回到调用块。我没有得到标签或search_field。我做了一些愚蠢的事情,还是在Rails 4.2中没有这个功能?看起来这应该只是基本的Ruby。
我注意到此示例未包含在4.2的文档中。 http://guides.rubyonrails.org/v4.2/layouts_and_rendering.html#using-partials
共享/ _search_filters.html.erb
<div class="search">
<%= search_form_for @q, html: { class: 'form-inline'} do |f| %>
<div class="form-group">
<%= yield f %>
</div>
<%= f.submit 'Search', class: 'btn btn-default', role: 'button' %>
<% end %>
</div> <!-- /.search -->
index.html.erb
<%= render 'shared/search_filters', search: @q do |f| %>
<%= f.label :search, 'Search (optional)', class: 'control-label' %>
<%= f.search_field :name_or_description_cont,
class: 'form-control',
placeholder: 'Search (optional)' %>
<% end %>
答案 0 :(得分:0)
尝试在索引处替换它:
render layout: 'shared/search_filters', locals: { search: @q } do |f|
答案 1 :(得分:0)
如果你使用5.0或更高版本,看起来Rails只支持在partials中产生块。来自release notes for 5.0:
使用
render partial:
帮助器进行渲染时允许阻止。