ご覧頂いてありがとうございます。
###前提・実現したいこと
ログインページを設置し、ログインしたユーザーによって表示するページを変えたいと思っています。
例)ユーザー:dog → パスワード:1234
ユーザー:cat → パスワード:5678
で、dogユーザーでログインしたらdog.html.erbを
catユーザーでログインしたらcat.html.erbを表示。
###ソースコード
routes.rb
Rails.application.routes.draw do get 'dog' => 'form#dog' get 'cat' => 'form#cat' get 'form/dog_csv' => 'form#dog_csv' get 'form/cat_csv' => 'form#cat_csv' end
form_controller.rb
class FormController < ApplicationController def dog end def dog_csv @form = Dog.all respond_to do |format| format.html do @form = params[:dog] end format.csv do send_data render_to_string, filename: "dog-#{Time.now.to_date.to_s}.csv", type: :csv end end end def cat end def cat_csv @form = Dog.all respond_to do |format| format.html do @form = params[:cat] end format.csv do send_data render_to_string, filename: "cat-#{Time.now.to_date.to_s}.csv", type: :csv end end end end
dog.html.erb
<p class="t2"><strong>CSVダウンロード</strong></p> <%= link_to 'csv download', form_dog_csv_path(format: :csv), :class => 'button' %>
cat.html.erb
<p class="t2"><strong>CSVダウンロード</strong></p> <%= link_to 'csv download', form_cat_csv_path(format: :csv), :class => 'button' %>
###試したこと
http://gaku3601.hatenablog.com/entry/2014/08/24/204848
http://easyramble.com/devise-on-rails.html
http://ruby-rails.hatenadiary.com/entry/20140804/1407168000#devise-root-devise
などを見てdeviseを使えばできるのかな?と思ったのですが、IDでログインできるようにする方法は分かったものの、ID毎に開くページを切り替える方法が分かりませんでした。
また、deviseを使用せず、ログイン画面とログインユーザーのDBを作って、controllerでログインIDから開くページを指定しようと思ったのですが、その場合ログインIDとパスワードの整合性チェックをどのようにすれば良いのか分かりません。
ログイン認証とユーザーによるページ振り分けができれば、どのような方法でも構いませんので、どうすれば良いのかご教示頂けませんでしょうか?
よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/09/12 03:57