LoginSignup
1
1

More than 5 years have passed since last update.

Railsで既にあるモデルのscaffoldをadmin以下に作る

Last updated at Posted at 2019-01-01

環境

Rails 5.2.2
Ruby 2.6.0

参考

ほぼこのままですが、Rails5でもできたというのと、一部直しが必要だったのでメモ程度に記事にしました。
https://qiita.com/mogya/items/24561a6fddd6cc018536

手順

既にあるUserモデルに対してscaffoldを生成したい。ただし、adminというネームスペースを付けたい。
つまり、既にあるモデルapp/models/user.rbに対して、admin/usersとかadmin/users/:id/editとかのURLで操作できるように、app/models/admin/users_controller.rbとかapp/views/admin/users/index.html.erbとかを生成してほしい。
Userモデルはnameフィールド(文字列型)のみを持っているとします。

参考記事の通りやってみる。

$bin/rails g scaffold_controller admin/user name:string --model-name=user

一部うまくいかなかったので直しました。

edit.html.erb
- <%= link_to 'Show', @user %> |
+ <%= link_to 'Show', [:admin, @user] %> |
show.html.erb
- <%= link_to 'Edit', edit_user_path(@user) %> |
+ <%= link_to 'Edit', edit_admin_user_path(@user) %> |
users_controller.rb
- format.html { redirect_to @user, notice: 'User was successfully created.' }
+ format.html { redirect_to [:admin, @user], notice: 'User was successfully created.' }
#createと#updateの2カ所

たぶんこれでOK。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1