我們index
視圖渲染使用render inline:
:的Rails 3 - 渲染內聯的form_tag
<%= render inline: ERB.new(@erb_code).result(binding) %>
這裏@erb_code
返回一個字符串index
視圖代碼進行渲染。該代碼工作正常,直到form_tag
被添加到@erb_code
。錯誤是:
(erb):8: syntax error, unexpected ')'
[email protected]), method: :get do).to_s); _erbout.concat "\r\n\...
... ^
(erb):63: syntax error, unexpected end-of-input, expecting ')'
; _erbout.force_encoding(__ENCODING__)
^
這裏是添加了form_tag
代碼:
<%= form_tag onboard_engine_configs_path(format: "csv", :project_id => @project.id), method: :get do %>
<%= label_tag(:from_release, "Release") %>
<%= select_tag(:from_release, options_for_select(releases.select('id, name').map{|r| [r.name, r.id]})) %>
<%= submit_tag 'CSV' %>
<% end %>
如果直接渲染@erb_code,那麼就沒有錯誤。
的index.erb.html是:
<%= render partial: 'form_list', locals: {models: @onboard_engine_configs} %>
我們知道問題出在render inline:
。試過render inline: @erb_code
和錯誤是一樣的。如何擺脫form_tag
在render inline:
?
與()相同的錯誤。 – user938363