Ruby on Rails 2 中的这种形式给出了错误:
<%= form_for(:session, url: sessions_path) do |f| %>
<% end %>
错误是 SyntaxError in Session
。怎么了?
Ruby on Rails 2 中的这种形式给出了错误:
<%= form_for(:session, url: sessions_path) do |f| %>
<% end %>
错误是 SyntaxError in Session
。怎么了?
这应该做
<% form_for(:session, :url => session_path) do |f| %>
<% end %>
首先,在 Rails 2.x 中,您使用<%
而不是<%=
将块传递给内部调用的方法。其次,我在这里使用了“火箭式哈希”,因此它适用于Ruby 1.8.7
.
在 ruby 1.8 风格的哈希是这样的{:key => value}
,在 ruby 1.9 我们也可以使用这种语法或使用新的风格,如key: value
切换与 rails 2 一起使用的 ruby 版本,检查是否应该采用第一种或第二种样式