這種形式在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