我一直在关注本教程:https://www.railstutorial.org/book/user_microposts。我的问题是,如何将我的微博转换为我的API的可读json格式?这是我的Micropost控制器:
class MicropostsController < ApplicationController
before_action :logged_in_user, only: [:create, :destroy]
def create
@micropost = current_user.microposts.build(micropost_params)
if @micropost.save
flash[:success] = "Micropost created!"
redirect_to root_url
else
render 'static_pages/home'
end
end
def destroy
end
private
def micropost_params
params.require(:micropost).permit(:content)
end
end
微博的唯一字段是内容字段。我如何在我的api中将其显示为json?此处还有我的用户控制器,用于显示微博:
class UsersController < ApplicationController
def show
@user = User.find(params[:id])
@microposts = @user.microposts.paginate(page: params[:page])
end
def new
@user = User.new
end
def create
@user = User.new(user_params)
if @user.save
log_in @user
flash[:success] = "Welcome to the Sample App!"
redirect_to @user
else
render 'new'
end
end
private
def user_params
params.require(:user).permit(:name, :email, :password,
:password_confirmation)
end
end
我知道我需要创建api和版本文件夹,但我不知道如何将微博响应格式化为json。我能够为我的用户做到这一点,但我正在为微博努力。非常感谢帮助:))
答案 0 :(得分:1)
为了响应JSON
,您可能需要配置控制器以响应此格式。一种方法是拨打respond_to
:
respond_to do |format|
format.html
format.json
end
Checkout Rails文档了解更多详情:http://api.rubyonrails.org/classes/ActionController/MimeResponds.html