0

Ruby on Rails 2 中的这种形式给出了错误:

<%= form_for(:session, url: sessions_path) do |f| %>

<% end %>

错误是 SyntaxError in Session。怎么了?

4

2 回答 2

3

这应该做

<% form_for(:session, :url => session_path) do |f| %>

<% end %>

首先,在 Rails 2.x 中,您使用<%而不是<%=将块传递给内部调用的方法。其次,我在这里使用了“火箭式哈希”,因此它适用于Ruby 1.8.7.

于 2013-07-01T12:50:51.297 回答
1

在 ruby​​ 1.8 风格的哈希是这样的{:key => value},在 ruby​​ 1.9 我们也可以使用这种语法或使用新的风格,如key: value

切换与 rails 2 一起使用的 ruby​​ 版本,检查是否应该采用第一种或第二种样式

于 2013-07-01T13:02:12.357 回答