0

私はブートストラップのサイドバーから部分呼び出しを持っています。各タブは、ブートストラップjsを部分的に使用してポイントします。アクションを実行するとページがリフレッシュされると、デフォルトのURLコース/ダッシュボートに戻ります。ビューをレンダリングする

リダイレクトをページのデフォルトのダッシュボード部分に戻すのではなく、部分的な表示にとどめるようにdiv idをパラメータに設定するにはどうすればよいですか。だから本質的にそれをしたい操作が完了した後に

render 'courses/my_courses' 

が完了した後。ここで私のビューページとコントローラコードです。それは、テンプレート欠落エラーで失敗していますが、私は基本的にダッシュボードにリダイレクトして、この部分をレンダリングします。ありがとうございます。

コントローラ

def course_complete 
    @course = Course.find(params[:id]) 
    @course.update_attributes(complete: true) 
    flash[:notice] = "Course name #{@course.title} now marked as complete" 
    render 'courses/my_courses' 
end 

def dashboard 
    my_courses 
    @company = @user.company 
end 

ビュー

<div role="tabpanel" class="tab-pane" id="my_courses"> 
    <div class="dash-panel"> 
     <h3><i class="fa fa-address-card-o"></i> My Courses</h3> 
     <span>All your courses listed below</span> 
    </div> 
    <div class="courses-panel"> 
     <%= render 'courses/my_courses' %> 
    </div> 
+0

ようdashbaord方法で部分的にレンダリング:あなたは複数のタブを持つメインページ(すなわち 'ダッシュボード')を持っていて、cであるタブの部分をレンダリングしたいあなたのメインページにリダイレクトされています。あれは正しいですか? – Gerry

答えて

0

私は私はあなたの質問を理解してかどうかわからないんだけど、あなたのcourse_complete方法でredirect_toを追加して、この

def course_complete 
    @course = Course.find(params[:id]) 
    @course.update_attributes(complete: true) 
    flash[:notice] = "Course name #{@course.title} now marked as complete" 
    redirect_to your_dashboard_path 
end 

def dashboard 
    my_courses 
    render 'courses/my_courses' 
    @company = @user.company 
end 
+0

こんにちは、コードランナー、私は非常にうまく私のポイントを得たかどうかはわかりません。説明するのは難しいです。したがって、my_coursesページのデフォルトのURLはcourses_dashboard_pathです。これは問題ありませんが、サイドバーから部分的なタブで表示するように設定されています。だから本質的にビューはダッシュボードページに行くが、私はそれがタブをクリックし、その特定のタブの部分を表示する必要がある。 私はアクションを完了したら、私はページをデフォルトのビューに戻すのではなく、私がいるタブセクションに戻ってリフレッシュしたいと言っています。 – Bradley

関連する問題