我希望能够在用户登录后立即将用户重定向到不同的主页(此部分正在运行)但我仍然希望登录用户能够访问索引源,如果他们想要的话。目前他们只能看到favourites_show_path而不是@guidelines = Guideline.order(:title).all。有没有办法(无需建立第二个索引操作和视图)登录后获取主页直接到favourites_show_path但仍然能够看到@guidelines = Guideline.order(:title).all?
def index
if params[:search].present?
@search = Sunspot.search(Guideline) do
fulltext params[:search]
end
@guidelines = @search.results
else
redirect_to favourites_show_path, :action => 'index' and return if current_user
@guidelines = Guideline.order(:title).all
end
答案 0 :(得分:0)
只需将@guidelines...
移出条件并重命名搜索结果符号:
def index
@guidelines = Guideline.order(:title).all
if params[:search].present?
@search = Sunspot.search(Guideline) do
fulltext params[:search]
end
@results = @search.results
else
redirect_to favourites_show_path, :action => 'index' and return if current_user
end
end
答案 1 :(得分:0)
谢谢,我已经解决了这个问题。我应该按照建议将重定向添加到登录操作中。所以我已经删除了
redirect_to favourites_show_path, :action => 'index' and return if current_user
来自我的索引操作,而是添加到我的application_controller.rb
def after_sign_in_path_for(resource)
favourites_show_path
end