Rails:重定向到不同的控制器

时间:2013-08-29 05:40:25

标签: ruby-on-rails ruby-on-rails-3.2

我需要在从Android应用程序收到一些数据后立即刷新HTML视图。我从我的Android应用程序获取项目列表。一旦项目存储在我的数据库中,我就需要使用收到的项目列表刷新摘要视图。我的问题是我无法自动执行此过程。就像我输入网址一样,我的视图完全显示内容。但每次收到项目列表时,我都需要手动刷新以从DB获取更新的项目列表。我使用<meta http-equiv="refresh" content="5" />刷新页面,这也很好,但我只需要在收到新项目并存储在DB中时才刷新。下面是我的列表控制器中的控制器代码,我保存收到的项目

def create
    lists = params[:list].collect{|list_attributes| List.new(list_attributes)}
    valid,not_valid = lists.partition{|list| list.valid?}

    if not_valid.blank?
      lists.map(&:save)
      @lists = lists
      format.html { redirect_to @list, notice: 'List was successfully created.' }
      format.json { render json: @list, status: :created, location: @list }
    else
      format.html { render action: "new" }
      format.json { render json: @list.errors, status: :unprocessable_entity }
    end

  end

我必须在项目保存在数据库中时刷新视图,即在上面的代码中@lists = lists之后。我阅读了很多教程,并了解我不应该使用渲染,因为我必须调用不同的控制器而不调用此控制器的方法。我尝试使用redirect_to,如下所示;

      @lists = lists
      @summary = summary_controller.new
      redirect_to @summary

摘要是显示视图的控制器(我试图从列表控制器调用)但它给出错误。我也尝试了更多选项,但无法识别摘要控制器名称。

我是rails的新手并尝试了类似帖子中提出的许多内容,但都没有工作。好像我缺少某些东西或无法理解调用不同控制器的概念。请指教。感谢。

0 个答案:

没有答案