Ruby on Rails语法混乱

时间:2014-01-16 20:36:24

标签: ruby-on-rails

我开始学习Rails,我很困惑。

<%= form_for :story, url:'create' do |f| %>
<p>
    <%= f.label :title %>
</p>

<p>
    <%= f.submit %>
</p>

<% end %>

所以,我理解的方式是form_for是一种采用模型的方法。我传入了:故事。即使我用以下内容替换:故事:post它将按预期工作。

将url设置为url:而不是:url(为什么冒号后工作,冒号之前没有)

以下不起作用:

<%= form_for @story, {url => "create"} do |f| %>

1 个答案:

答案 0 :(得分:1)

这与ActionView::FormHelper

initialize方法有关

:storysymbol。在ruby中,基本上是常量的符号在字符串之前用冒号表示。

创建

<form action="/story" method="post">

url: 'create'是一个红宝石hash,它使用符号作为键,可以写成

{url: create} or { :url => "create"}