2013-05-05 100 views
0

我有下面的窗体,我也想添加一个名称字段到这个窗体。所以,当我跑我的初始迁移我没有加名字作为餐厅属性,但之后(我认为)我通过运行“生成迁移名称列名:餐馆”加名Rails窗体文本字段

<%= form_for(@restaurant) do |f| %> 
    <div class="field"> 
    <%= f.label :adress %><br /> 
    <%= f.text_field :adress %> 
    </div> 
    <div class="field"> 
    <%= f.label :review %><br /> 
    <%= f.text_field :review %> 
    </div> 
    <div class="actions"> 
    <%= f.submit %> 
    </div> 
<% end %> 

我想要做这样的事情:

<%= f.label :name %><br /> 
<%= f.text_field :name %> 

但我得到一个“为#Restaurant未定义的方法`名”:0x007fd5adc5e330" 错误..

回答

1

迁移命令是错误的。使用这个:

$ rails generate migration AddNameToRestaurant name:string 

然后手动检查迁移文件,看它是否正确。

模式改变后,你需要运行

$ rake db:migrate 
$ rake db:test:prepare 

然后你的模型更改生效。

+0

谢谢,我用这个rails生成迁移add_fieldname_to_tablename fieldname:string,不知道它是否相同,但问题解决了! – 2013-05-05 06:15:52

+0

@ GorkemYurtseven,是的,Camal的情况和下划线是一样的。 – 2013-05-05 06:17:26