【发布时间】:2015-11-16 18:40:19
【问题描述】:
我有一个 ruby on rails Web 应用程序,但我希望它像 Web 服务一样运行,而不是 HTML 来返回 JSON。我希望所有 CRUD 方法都使用这个。我希望将整个页面呈现为 JSON,到目前为止,我只在 User 变量的 Show and Edit 中实现了这一点。但我希望整个页面,所有 CRUD 方法都显示为 JSON。
def index
@users = User.all
end
def show
@user = User.find(params[:id])
# Render json or not
render json: @user
end
def new
@user = User.new
end
def edit
@user = User.find(params[:id])
end
def create
@user = User.new(user_params)
if @user.save
redirect_to @user
else
render 'new'
end
end
def update
@user = User.find(params[:id])
if @user.update(user_params)
redirect_to @user
else
render 'edit'
end
end
def destroy
@user = User.find(params[:id])
@user.destroy
redirect_to users_path
end
到目前为止,我发现了这个render json: @user,但我希望将整个页面呈现为 JSON 而不仅仅是变量。以及所有 CRUD 方法的每个 URL。
编辑:如果我在 routes.rb 中添加类似 resources :users, defaults: {format: :json} 的内容,则会收到错误消息“缺少模板用户/索引、应用程序/索引与 {:locale=>[:en], :formats=>[ :json], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :coffee, :jbuilder]}"
【问题讨论】:
标签: html ruby-on-rails json rest crud