我想根据条件将部分渲染到视图中。起初我有这个渲染得很好的观点
<%= simple_form_for [@customer, @reading], :html => { :class => 'form-horizontal' } do |f| %>
<%= f.input :customer_id, :editable => false, :value => @customer.id %>
<%= f.input :date_of_reading, :as => :date %>
<%= render 'readings/single_phase', f: f %>
<% end %>
我现在想根据条件将部分渲染到视图中。所以我在 application.rb 中创建了一个辅助方法来进行条件检查
module ApplicationHelper
def render_readings_conditionally
if @customer.phase_type == 'Single Phase'
render :partial => 'readings/single_phase'
else
render :partial => 'readings/three_phase'
end
end
end
在我看来,我修复了那里的方法
<%= simple_form_for [@customer, @reading], :html => { :class => 'form-horizontal' } do |f| %>
<%= f.input :customer_id, :editable => false, :value => @customer.id %>
<%= f.input :date_of_reading, :as => :date %>
<%= render_readings_conditionally %>
<% end %>
但是,这不起作用,因为我没有将之前的 block 参数传递给我的部分。
我怎样才能将它传递给我的部分?