【问题标题】:How to render different view from controller如何从控制器渲染不同的视图
【发布时间】:2012-06-29 12:09:40
【问题描述】:

有点菜鸟问题;):

我的控制器中有 2 个操作 - indexown。 在 index 中,我列出了所有帖子,而 own 只生成登录用户的帖子。控制器非常相似,但视图是相同的,我假设可以在这两个控制器之间共享。

在自己的控制器中我放了这样的东西:

respond_to do |format|
  format.html { render :action => "index" }
  format.json { render json: @ads }
end

并添加到路线中:

match "/ads/own" => 'ads#own', :via => :get

有没有更好的解决方案?

【问题讨论】:

标签: ruby-on-rails


【解决方案1】:

你可以这样做:

def index
  ....
end

def own
  ....
  render :index    
end

一切(所有变量)都将直接传递给自己的索引视图。如果你想要 :json 组件,那么添加:

class SomeController < ApplicationController
  respond_to :html, :json

并将“respond_with @posts”作为每个操作的最后一项。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-28
    • 1970-01-01
    • 2017-04-14
    • 1970-01-01
    • 1970-01-01
    • 2013-06-02
    • 1970-01-01
    相关资源
    最近更新 更多