这种形式在Ruby on Rails的2给出了一个错误:Ruby on Rails的2的SyntaxError为形式
<%= form_for(:session, url: sessions_path) do |f| %>
<% end %>
该错误是SyntaxError in Session
。哪里不对?
这种形式在Ruby on Rails的2给出了一个错误:Ruby on Rails的2的SyntaxError为形式
<%= 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
。
在红宝石散列1.8风格是这样{:key => value}
,在Ruby 1.9的,我们也可以用这个syntaxe或使用新的风格像key: value
开关,您与梁2使用你的Ruby版本,你检查,如果你应采取第一种或第二种风格
它不依赖于Rails版本。它取决于Ruby版本。这个“新”语法是在Ruby 1.9中引入的。 –
感谢您的注意,我只是说,因为我认为如果他使用rails 2,他使用ruby 1.8的概率更高。我更新我的答案谢谢 – medBo
你说得对。概率要高得多。现在你的答案是正确的,是我的补充,所以我给你upvote。 :) –
Thx!是工作! – Andrew
是的,语法错误是散列样式的混合。 – pjmorse