0
我试图将Rails2应用移植到Rails4应用程序(!)中。我没有为端口保留一个单独的分支,而是用'if'子句分隔Rails4特定的API。将Rails2中的form_for erb标签移植到Rails4
if Rails::VERSION::STRING < "4"
# rails2 specific api call
else
# rails4 specific api call
end
到目前为止,这对控制器和模型非常有效。但是,我遇到了Rails2的erb
问题。
<% if Rails::VERSION::STRING < "4" %>
<% form_for(...) do |f| %>
<% end %>
<% else %>
<%= form_for(...) do |f| %>
<% end %>
<% end %>
它将失败因为在Rails2,erb
还评估else
子句和无法呈现<%= form_for(...) do |f| %>
因为在轨道2,通过form_for
返回的对象没有.to_s
方法。
你们知道解决此问题的任何提示吗?