分隔 Ruby 代码,需要使用 Partials 的块

Separating Ruby Code which requires a block with Partials

我想用

<% form_tag ( <<variables from partial here>> ) do %>

部分;问题出在 IDE 它已经在试图告诉我我有无效代码;这是因为 "DO" 将与 "END" 配对。我不能以部分本身结束;因为调用partial的页面"DO"后面有一些内容

如何在使用调用部分的页面中的内容的同时在部分中使用 form_tag?

听起来你处境非常棘手。这是我认为你从你的描述中得到的:

#partial_1
<% form_tag (:model_name) do %>

#partial_2
<% form_contents %>
<% end %>

#controller
@model = Model.load
render(partial1 << partial2)

如果我说错了,您可能需要纠正我,但是否可以改为这样做?

#controller
@model = Model.load
render(partial_1)

#partial_1
<% form_tag ... %>
<%  render(partial_2) %>
<% end %>

#partial_2
<% all the form guts %>

如果您直接使用 ruby,您可能正在使用 ERB 库,并且每次都是 binding,这应该使变量一直有效。