質問を追記します。 下記エラーはm_showのviews内にあるリンク先のidが付いていないために発生していると思うのですが、(現状は_path(@article))
article(プロフィール記事)はサインアップ後に作るためサインアップ時に作られたuser_idに該当する記事はまだない状態です。
現状はログイン後、ログインしたアカウントが持っているuser_idを持った記事を呼び出すべくアプリケーションコントローラーに
def after_sign_in_path_for(resource) m_show_articles_path(user_id: resource.id) end ```とし、呼び出し先のアーティクルコントローラーでは ```ここに言語を入力 def m_show @article = Article.find_by(user_id: params[:user_id]) end ```としてログインはうまくいっています。 それとは別にサインアップではアプリケーションコントローラーに ```ここに言語を入力 def after_sign_up_path_for(resource) new_article_path(@article) end
としてアーティクルコントローラーは
def new @article = Article.new end ```としているのですが、newアクションである登録フォームに行く前に下記のエラーが発生してしまいます。 サインインはログインでもあるのでm_showアクションまで実行されているということなんでしょうか.. イメージ的には サインアップ→フォームにて記事作成→user_idリンク完了 ログイン→user_id記事を表示 なのですが、こういった場合の解決方法はありますか? どなたかご教示していただけますと助かります。 -以下追記前- articlesというプロフィールページをユーザーが登録していくようなサイトを作っています。 新しいユーザーとしてサインアップしたところ以下のようなエラーが出てしまいました。 ActionController::UrlGenerationError in Articles#m_show Showing /vagrant/shinya/app/views/articles/m_show.html.erb where line #2 raised: No route matches {:action=>"edit", :controller=>"articles", :id=>nil} missing required keys: [:id] 現在は通常のCRUDシステムの他にマイページとしてshowを増設してm_showとし、そこで記事の更新や削除をできるようにしています。 articleのカラムにuser_idを付け、サインアップ時に付けられるuser_idと紐付ける形にしたいのですが、 すでにuser_id付きのプロフィール記事をログイン時にマイページ的に表示する作業が完了したところで今度はサインアップでエラーが出てしまったというところです。 エラーのParamus欄にはuser_idが表示されています。 少し前までは記事が作れていたので色々見なおしてみたのですが原因がわかりません。 どなたかご教授いただけないでしょうか。 よろしくおねがいします
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/08/19 01:34