【管理画面】初回のSHOPマスタ登録時にエラー
>>旧トラッキング26より移動
>>guest
システム設置後、初回のSHOPマスタ登録時にエラーとなりました。
まず、NoMethodErrorが出ます。
shops_controller
1 def update 2 if params[:id] 3 @shop = Shop.find(:first)#1件のみ返す 4 @system = System.find(:first) 5 @shop.attributes = params[:shop] 6 @system.attributes = params[:system] 7 else 8 @shop = Shop.new params[:shop] 9 @system = System.new params[:system] 10 end
Shop,Systemともに1つのレコードしか期待しないのであれば同コードは
@shop = Shop.find(:first) || Shop.new @shop.attributes = params[:shop] @system = System.find(:first) || System.new @system.attributes = params[:system]
次に、 app/views/admin/shops/_form.html.erb に「注文受付メールアドレス」の入力欄がないにもかかわらず、必須入力チェックがかかっているため登録時にバリデーションチェックにひっかかります。
vn diff app/views/admin/shops/_form.html.erb Index: app/views/admin/shops/_form.html.erb =================================================================== --- app/views/admin/shops/_form.html.erb (リビジョン 19) +++ app/views/admin/shops/_form.html.erb (作業コピー) @@ -53,6 +53,10 @@ <td><%= text_field "shop", "mail_sender", :class=>"data_m" %></td> </tr> <tr> + <th>注文受付メールアドレス <span class="pnt">※</span></th> + <td><%= text_field "shop", "mail_shop", :class=>"data_m" %></td> + </tr> + <tr> <th>管理者メールアドレス <span class="pnt">※</span></th> <td><%= text_field "shop", "mail_admin", :class=>"data_m" %></td> </tr>
以上、ご確認お願い致します。
shops_controllerは提案された修正を入れました。
validateがかかっているフィールドについては、すでに使用しないフィールドのため、validateのチェックから削除しました。
共にtrunkにて対応をしております。
1.0.4のリリースをもって完了といたします。
>>旧トラッキング26より移動
>>guest
システム設置後、初回のSHOPマスタ登録時にエラーとなりました。
まず、NoMethodErrorが出ます。
shops_controller
ifの判定条件がpramas[:id]になってますが、params[:id]には空文字が入ってくるので真となります。その後、データが登録されていないにもかかわらず、:firstのデータをとりにいくのでnilに対する操作となりエラーになります。
Shop,Systemともに1つのレコードしか期待しないのであれば同コードは
に置き換えてしまって良いのではないでしょうか。次に、
上記2点の修正でSHOPマスタが登録できるようになりました。app/views/admin/shops/_form.html.erb
に「注文受付メールアドレス」の入力欄がないにもかかわらず、必須入力チェックがかかっているため登録時にバリデーションチェックにひっかかります。
以上、ご確認お願い致します。