【问题标题】:Rendering a view渲染视图
【发布时间】:2017-05-20 09:45:35
【问题描述】:

我有从引导侧边栏调用的部分。每个选项卡都使用 bootstrap 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>

【问题讨论】:

  • 我不确定我是否理解您的问题:您有一个包含多个选项卡的主页(即dashboard),并且您想在单击的选项卡中呈现部分内容,但您正在重定向到您的主页。对吗?

标签: javascript ruby-on-rails ruby-on-rails-4 twitter-bootstrap-3


【解决方案1】:

在你的 course_complete 方法中添加 redirect_to 并像这样在 dashbaord 方法中渲染部分

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

【讨论】:

  • 您好 Code Runner,不确定我是否很好地理解了我的观点。很难解释。因此,my_courses 页面的默认 url 是 course_dashboard_path,这很好,但我将所有操作都设置为在侧边栏的部分选项卡中查看。所以基本上视图进入仪表板页面,但我需要的是它然后单击选项卡并显示该特定选项卡的部分。因此,当我执行操作说完成方法时,我不希望页面刷新回默认视图,而只是刷新回我所在的选项卡部分。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-02
  • 2013-10-21
相关资源
最近更新 更多