前提・実現したいこと
現在、会社ごとに営業管理を行うようなサイトをPFしたいと考え、作成しております。
deviseを実装後、グループ機能のようなもので会社専用のページを作成しようと考え、実装してみましたが、グループの新規作成ができません。
logから原因としてcreateが作動していないことが原因かと考えておりますが、改善方法がどうしてもわかりませんでした。
プログラミング初心者なので根本的なことがわかってないかもしれないのですが、ご教授いただけると幸いです。
発生している問題・エラーメッセージ
エラーメッセージはなく、newページへ戻る
該当のソースコード
controller
1class CampaniesController < ApplicationController 2 3 def new 4 @campany = Campany.new 5 @campany.users << current_user 6 @password = SecureRandom.alphanumeric(8) 7 end 8 9 def create 10 @campany = Campany.new(Campany_params) 11 if @campany.save 12 redirect_to campanies_path, notice: 'グループを作成しました' 13 else 14 render :new 15 end 16 end 17 18 def index 19 @campanies = Campany.all.order(updated_at: :desc) 20 end 21 22 def show 23 @campany = Campany.find_by(id: params[:id]) 24 25 if !@campany.users.include?(current_user) 26 @campany.users << current_user 27 end 28 29 30 end 31 32 private 33 def campany_params 34 params.require(:campany).permit(:name, :code) 35 end 36 37end 38
html
1<head> 2 <meta charset="utf-8"> 3 <%= javascript_include_tag 'application' %> 4</head> 5 6<body> 7 <div class="container"> 8 <div class="row"> 9 <div class="col"> 10 <h2>新規企業ページ作成</h2> 11 <form> 12 <%= form_with model: @campany, local:true do |f| %> 13 <div class="form-group row"> 14 <label class="col-sm-2 col-form-label">会社名</label> 15 <div class="col-sm-10"> 16 <%= f.text_field :name, class: "form-control", placeholder: "会社名"%> 17 </div> 18 </div> 19 <div class="form-group row"> 20 <label for="inputCode" class="col-sm-2 col-form-label">企業コード</label> 21 <div class="col-sm-10"> 22 <%= f.text_field :code, class: 'form-control', id: 'password' %> 23 <%= button_tag '企業コードを生成する', id: 'auto-fill-link', type: "button" %> 24 </div> 25 </div> 26 <%= f.submit "作成する" %> 27 <% end %> 28 </form> 29 </table> 30 </div> 31 </div> 32</div> 33 34<!--乱数作成用--> 35<script> 36 $(function(){ 37 autoFill(); 38 function autoFill() { 39 $('#auto-fill-link').click(function(){ 40 $('#password').val("<%= @password %>"); 41 }); 42 } 43 }) 44</script> 45</body>
model
1class Campany < ApplicationRecord 2 3 has_many :campany_users 4 has_many :users, through: :campany_users 5 validates :name, presence: true 6 validates :code, presence: true 7 8end
table
1create_table "campanies", force: :cascade do |t| 2 t.string "name" 3 t.string "code" 4 t.datetime "created_at", null: false 5 t.datetime "updated_at", null: false 6 end
log
1Started GET "/campanies/new?utf8=%E2%9C%93&authenticity_token=8OGnqKWkq07IxNVqajWFghxuJRdPphTleDMCUUsAPEBsdfNjiHj1q%2FgcSBNuSa1rm9VDxJnKnjFksbzWu3iRdA%3D%3D&campany%5Bname%5D=%E6%A0%AA%E5%BC%8F%E4%BC%9A%E7%A4%BE%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB&campany%5Bcode%5D=wGcDRsNr&commit=%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B" for 121.83.77.164 at 2021-07-14 07:16:01 +0000 2Cannot render console from 121.83.77.164! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255 3Processing by CampaniesController#new as HTML 4 Parameters: {"utf8"=>"✓", "authenticity_token"=>"8OGnqKWkq07IxNVqajWFghxuJRdPphTleDMCUUsAPEBsdfNjiHj1q/gcSBNuSa1rm9VDxJnKnjFksbzWu3iRdA==", "campany"=>{"name"=>"株式会社サンプル", "code"=>"wGcDRsNr"}, "commit"=>"作成する"} 5 User Load (0.2ms) SELECT "users".* FROM "users" WHERE "users"."id" = ? ORDER BY "users"."id" ASC LIMIT ? [["id", 1], ["LIMIT", 1]] 6 ↳ app/controllers/campanies_controller.rb:5 7 Rendering campanies/new.html.erb within layouts/application 8 Rendered campanies/new.html.erb within layouts/application (51.6ms) 9Completed 200 OK in 118ms (Views: 114.2ms | ActiveRecord: 0.2ms)
試したこと
記述の見直し
補足情報(FW/ツールのバージョンなど)
rails5
参考記事:https://qiita.com/savaniased/items/ce7dd5a825ad0f6be53c
不足情報あれば追記いたします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/14 07:26
2021/07/14 07:53