前提・実現したいこと
ユーザー登録していたら、グループのview画面に飛んで欲しいのですがエラーが出てしまいます。
ユーザー登録のsendボタン押してエラー
発生している問題・エラーメッセージ
「解決したいこと」
render 機能がうまく反映できません。
renderは違うフォルダでも反映させることは可能だと思うのですが、書き方の問題でしょうか??
こちらは、うまく通りました。。
= render ‘groups/new’
こちらが問題の記事時です
view/lauouts/application.html.haml
- if user_signed_in?
= render ‘groups/new’- else
= render partial: ‘/registrations/new’, locals: { post: @user.name }
- else
呼び出したい、else以降のviewがdeviseの機能の箇所なので
こういった形で記述しております。
render もしくは、redirect_toを使うのかなと思ってまして
redirect_toはaction: ,controller:
それぞれ定義したりしてみましたが、ルーティングエラーになるのでrenderを使おうと決めました。
コードです。
routes.rb
Rails.application.routes.draw do
devise_for :users
root “groups#new”
resources :users, only: [:index, :new, :create, :destroy]
resources :groups, only: [:new, :create, :edit, :update] do
resources :contents do
resources :comments, only: :create
collection do
get ‘search’
end
end
end
end
application_controller.rb
class ApplicationController < ActionController::Base
before_action :authenticate_user!
before_action :configure_permitted_parameters, if: :devise_controller?
protected
def configure_permitted_parameters
devise_parameter_sanitizer.permit(:sign_up, keys: [:name])
end
end
/users_controller.rb
class UsersController < ApplicationController
def index
return nil if params[:keyword] == “”
@users = User.where([‘name LIKE ?’, “%#{params[:keyword]}%“] ).where.not(id: current_user.id).limit(10)
end
def new
@user = User.new
end
def create
@users = @user
if current_user.Create.new(user_params)
redirect_to new_group_path
else
redirect_to new_user_registration_path
end
end
def show
user = User.find(params[:id])
@contents = user.contents
end
private
def user_params
params.require(:user).permit(:name, :email)
end
end
https://gyazo.com/aba25ae77ac04c8b02811f0d19f3ee22 エラーメッセージ
色んなコードを打ち込んでみましたが、ずっと同じコードなので
ファイル名なども確認してますが、何がおかしいのか分かりません。。
ご教授、よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー