一尘不染

在Rails中,如何使用视图呈现JSON?

json

假设您位于用户控制器中,并且想要获取显示请求的json响应,那么可以在您的views / users
/目录中创建一个名为show.json的文件,并在用户之后#show操作完成后,它将呈现文件。

当前,您需要执行以下操作:

def show
  @user = User.find( params[:id] )
  respond_to do |format|
    format.html
    format.json{
      render :json => @user.to_json
    }
  end
end

但是,如果您可以创建一个show.json文件,它会像这样自动呈现,那就太好了:

def show
  @user = User.find( params[:id] )
  respond_to do |format|
    format.html
    format.json
  end
end

这将为我节省大量的痛苦,并且会消除我在控制器中渲染json时得到的那种可怕的肮脏感觉


阅读 245

收藏
2020-07-27

共1个答案

一尘不染

您应该可以在自己的代码respond_to块中执行以下操作:

respond_to do |format|
    format.json 
    render :partial => "users/show.json"
end

这将在中呈现模板app/views/users/_show.json.erb

2020-07-27