1

Railsアプリに連絡フォームがあります。今のところ、何があってもホームページにリダイレクトするだけです。ユーザーがログインしている場合は user_path にリダイレクトし、ログインしていない場合はホームページにリダイレクトしたいと思います..どうすればよいですか?

*デバイスを使用

contact_controller

  def create
    @message = Message.new(params[:message])

    if @message.valid?
      NotificationsMailer.new_message(@message).deliver
      redirect_to(user_path, :notice => "Message was successfully sent.")
    else
      flash.now.alert = "Please fill all fields."
      render :new
    end
  end

end
4

2 に答える 2

6

ログインしている場合は、別の場所にリダイレクトできます。

if current_user
    redirect_to(user_path, :notice => "Message was successfully sent.")
else
    redirect_to root_path
end

これは、あなたが " "current_xxxとして設定されていることを前提としていますuser

于 2012-07-12T22:57:37.260 に答える
0

user_signed_in?ヘルパーを使用する

def create
  @message = Message.new(params[:message])

  if @message.valid?
    NotificationsMailer.new_message(@message).deliver
    if user_signed_in?
      redirect_to user_path, :notice => "Message was successfully sent."
    else
      redirect_to root_path
    end
  else
    flash.now.alert = "Please fill all fields."
    render :new
  end
end
于 2012-07-12T23:40:14.347 に答える