質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

1121閲覧

勤務情報の編集ページを作成したいです

RThe

総合スコア25

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

1クリップ

投稿2020/08/03 05:56

編集2020/08/04 07:34

現在、勤怠アプリを作成しています。

下記のような
管理者ユーザーのみが全員の基本時間と勤務時間を編集できるフォーム入力のページを作成したいのですが
エラーが出てしまい画面を表示できません。
お手数おかけしますが、解決方法を教えていただけないでしょうか。。。

●表示したいフォーム画面
イメージ説明

●エラー画面

イメージ説明

これまでに行ったこと

●作成ページをedit_basic_info_html.erbとしました

●ヘッダーのリンクのviewを記載いたします(修正済み)

<header class= "navbar navbar-fixed-top navbar-inverse"> <div class= "container"> <%= link_to "勤怠システム", root_path , id: "logo" %> <nav> <ul class="nav navbar-nav navbar-right"> <% if logged_in? %> <li><%= link_to "トップへ", users_path %></li> <% if current_user.admin?%> <li><%= link_to "ユーザ一覧", users_path %></li> <li><%= link_to "edit_basic_info_user_path(user)" %></li> <li class="dropdown"> <a href="#" class="dropdown-toggle", data-toggle="dropdown"> アカウント<b class="caret"></b> </a> <ul class="dropdown-menu"> <li><%= link_to "設定",edit_user_path(current_user)%></li> <li class="divider"></li> <li><%= link_to "ログアウト", logout_path, method: :delete %></li> </ul> </li> <% else %> <li class="dropdown"> <a href="#" class="dropdown-toggle", data-toggle="dropdown"> アカウント<b class="caret"></b> </a> <ul class="dropdown-menu"> <li><%= link_to "設定",edit_user_path(current_user) %></li> <li class="divider"></li> <li><%= link_to "ログアウト", logout_path, method: :delete %></li> </ul> </li> <% end %> <% else %> <li><%= link_to "トップへ", root_path %></li> <li><%= link_to "ログイン", login_path %></li> <% end %> </ul> </nav> </div> </header>

●表示したいview(edit_basic_info)を記載します(追加)

<% provide(:title, 'edit_basic_info') %> <h1>基本情報の更新</h1>

●ルーティングはmemberメソッド内に下記のように記載しました

resources

1 member do 2 get 'edit_basic_info' 3 end 4 end

● userコントローラーにも記載しました(修正済み)

def class UsersController < ApplicationController def index end def new @user = User.new end def show # @userにUserテーブルのidが受け取った値である(params[:id])のレコードを見つけて代入 @user = User.find(params[:id]) @first_day = Date.current.beginning_of_month @last_day = @first_day.end_of_month end def create @user = User.new(user_params) if @user.save log_in @user # 保存成功後、ログインします。 flash[:success] = '新規作成に成功しました。' redirect_to @user else render :new end end def edit @user = User.find(params[:id]) end def update @user = User.find(params[:id]) if @user.update_attributes(user_params) flash[:success] = "ユーザー情報を更新しました" redirect_to @user else render :edit end end private def user_params params.require(:user).permit(:name, :email, :password, :password_Confirmation) end end end

●rails/infoです

イメージ説明

*メンバーメソッドでurlにidを付けましたが、1人1人のuserの基本情報を個々に更新するのではなく、
一括で全員の基本情報を更新するので、idは必要ないのでしょうか・・・

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

YT0014

2020/08/03 16:31

エラーメッセージは読まれていますか? undefined local variable or method 'user' for ... となっており、ご提示いただいた範囲内には、user の定義が確認できませんが。
RThe

2020/08/03 21:52

ご回答ありがとうございます。 はい。エラーは読みました。しかしどこにuserを記載すれば良いのかが、分かりかねている状況です。 コントローラーのeditアクション内でしょうか・・・
YT0014

2020/08/04 00:52

関連のソースが一切提示されていないので、一般論になりますが、エラーが発生しているソース内です。 この場合は、viewの中になるかと。 まずは、質問を編集して、関連ソースを(コードとして)ご提示ください。
RThe

2020/08/04 07:35

承知いたしました! 該当するコードの修正と表示したいviewを追加記載させえ頂きました。 お手数おかけしますが、ご拝見いただけますでしょうか。
guest

回答1

0

ベストアンサー

エラーが出てしまい画面を表示できません。

エラーが出ている(user)を削除すれば期待するページが表示されるかと思いますがいかがでしょうか?
<li><%= link_to "基本情報の修正", edit_basic_info_user_path %></li>

投稿2020/08/04 00:23

no1knows

総合スコア3365

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

RThe

2020/08/04 07:36

ご回答ありがとうございます。 承知痛いしました!!一度修正してみます!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問