在rails命令中添加额外属性

El *_*ino 6 scaffold ruby-on-rails-3

在尝试使用 - 生成新的脚手架时collection> rails generate scaffold Items name:string subcategory_id:integer users_id:integer,我错过了'users_id:integer'以及我可以在其上使用此属性而不是再次运行完整命令的方式.

谢谢

Jas*_*ble 4

如果您尚未推送迁移,您可以编辑 db/migrate/201112*create_items.rb 并添加以下行:

add_column :items, :users_id, :integer
Run Code Online (Sandbox Code Playgroud)

如果您已经推送了迁移,请创建另一个:

rails generate migration AddUsersIdToItems users_id:integer
rake db:migrate
Run Code Online (Sandbox Code Playgroud)

然后你必须手动编辑脚手架代码:

vi app/views/items/_form.html.erb
Run Code Online (Sandbox Code Playgroud)

复制 subcategory_id 的 <div> 并将其更改为 :users_id

<div class="field">
  <%= f.label :subcategory_id %><br />
  <%= f.number_field :subcategory_id %>
</div>
<div class="field">
  <%= f.label :users_id %><br />
  <%= f.number_field :users_id %>
</div>
Run Code Online (Sandbox Code Playgroud)

或者,如果您正在运行 git,则可以运行“git checkout”。运行第一个脚手架生成器后,这将撤消所有更改,然后您可以再次运行它。