android-implementing-progressbar-and-loading-for-endless-list-like-android
home_controller.rb
player.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
public void onCompletion(MediaPlayer mp) {
PlaySentence();
}
});
的Gemfile
class HomeController < ApplicationController
def home
@activities = Activity.order("created_at DESC").page(params[:page]).per_page(5)
end
def login
render
end
def logout
session[:school_id] = nil
session[:parent_id] = nil
session[:user_id] = nil
redirect_to :controller => 'home', :action => 'login'
end
答案 0 :(得分:2)
redirect_to :controller => 'home', :action => 'login'
这是不正确的,更不用说丑陋了。而是在routes.rb中创建一个执行该操作的路由。例如:
get 'login' => 'home#login'
然后你会使用:
redirect_to login_path
<强>奖金强>
****你应该阅读rails routing以获得更好的路线。****
此外,处理登录的家庭控制器似乎不太干净。
更好的路线如下所示,但需要不同的控制器设置:
resources :sessions
创建以下路由和许多其他路径(不完全但忽略了详细信息):
get 'login' => 'sessions#new'
我再次建议你阅读Rails routing。
答案 1 :(得分:0)
在我看来,您最初可能已经错误地编写了代码,即使您已经修复了源代码,Rails仍然使用旧的(不正确的)版本。
你必须有一些变体:
redirect_to 'home', :action => 'login'
redirect_to 'home', 'login'
之前。
保留您的代码(redirect_to(:controller => 'home', :action => 'login')
),并确保正确地重新启动Rails过程。
答案 2 :(得分:0)
只是为了解释redirect_to实际上期望路径不是控制器或动作而且Helsing非常精美地回答了它如何从控制器及其动作中做出路径。