Tôi đang cố gắng sử dụng lại một thành phần html mà tôi đã viết để cung cấp kiểu bảng điều khiển. Cái gì đó như:
<div class="v-panel">
<div class="v-panel-tr"></div>
<h3>Some Title</h3>
<div class="v-panel-c">
.. content goes here
</div>
<div class="v-panel-b"><div class="v-panel-br"></div><div class="v-panel-bl"></div></div>
</div>
Vì vậy, tôi thấy rằng kết xuất có một khối. Tôi nghĩ sau đó tôi có thể làm điều gì đó như thế này:
# /shared/_panel.html.erb
<div class="v-panel">
<div class="v-panel-tr"></div>
<h3><%= title %></h3>
<div class="v-panel-c">
<%= yield %>
</div>
<div class="v-panel-b"><div class="v-panel-br"></div><div class="v-panel-bl"></div></div>
</div>
Và tôi muốn làm điều gì đó như:
#some html view
<%= render :partial => '/shared/panel', :locals =>{:title => "Some Title"} do %>
<p>Here is some content to be rendered inside the panel</p>
<% end %>
Rất tiếc, điều này không hoạt động với lỗi này:
ActionView::TemplateError (/Users/bradrobertson/Repos/VeloUltralite/source/trunk/app/views/sessions/new.html.erb:1: , unexpected tRPAREN
old_output_buffer = output_buffer;;@output_buffer = ''; __in_erb_template=true ; @output_buffer.concat(( render :partial => '/shared/panel', :locals => {:title => "Welcome"} do ).to_s)
on line #1 of app/views/sessions/new.html.erb:
1: <%= render :partial => '/shared/panel', :locals => {:title => "Welcome"} do -%>
...
Vì vậy, nó không thích =
rõ ràng với một khối, nhưng nếu tôi loại bỏ nó, thì nó sẽ không xuất ra bất cứ thứ gì.
Có ai biết cách làm những gì tôi đang cố gắng đạt được ở đây không? Tôi muốn sử dụng lại html bảng điều khiển này ở nhiều nơi trên trang web của mình.
layout
-workaround, xem guides.rubyonrails.org/...