渲染 rails form_tag 部分时出错
Error when rendering rails form_tag partial
情况如下:
我有一个 form_tag
将在两个视图中呈现,但每个视图中的 url 不同。例如:
<%= form_tag form_url, method: 'GET' do %>
<%= ... %>
<%= ... %>
<%= submit_tag 'Submit' %>
<% end %>
我想这样称呼它:
在视图 A 中:
<%= render "form_partial_name", locals: { form_url: url_A } %>
视图 B:
<%= render "form_partial_name", locals: { form_url: url_B } %>
但它不起作用。我该怎么做?
使用render partial:
代替render
<%= render partial: "form_partial_name", locals: { form_url: url_A } %>
<%= render partial: "form_partial_name", locals: { form_url: url_B } %>
因为render
不支持本地人。
Read 更多。
还有一个办法。您还可以使用 yield
和 provide
:
<%= form_tag yield(:form_url), method: 'GET' do %>
<%= ... %>
<%= ... %>
<%= submit_tag 'Submit' %>
<% end %>
还有 2 个不同的观点:
<% provide(:form_url, url_A) %>
<%= render "form_partial_name" %>
<% provide(:form_url, url_B) %>
<%= render "form_partial_name" %>
情况如下:
我有一个 form_tag
将在两个视图中呈现,但每个视图中的 url 不同。例如:
<%= form_tag form_url, method: 'GET' do %>
<%= ... %>
<%= ... %>
<%= submit_tag 'Submit' %>
<% end %>
我想这样称呼它:
在视图 A 中:
<%= render "form_partial_name", locals: { form_url: url_A } %>
视图 B:
<%= render "form_partial_name", locals: { form_url: url_B } %>
但它不起作用。我该怎么做?
使用render partial:
代替render
<%= render partial: "form_partial_name", locals: { form_url: url_A } %>
<%= render partial: "form_partial_name", locals: { form_url: url_B } %>
因为render
不支持本地人。
Read 更多。
还有一个办法。您还可以使用 yield
和 provide
:
<%= form_tag yield(:form_url), method: 'GET' do %>
<%= ... %>
<%= ... %>
<%= submit_tag 'Submit' %>
<% end %>
还有 2 个不同的观点:
<% provide(:form_url, url_A) %>
<%= render "form_partial_name" %>
<% provide(:form_url, url_B) %>
<%= render "form_partial_name" %>