'输出是什么(.:format)
意思?rake routes
users GET /users(.:format) users#index
'输出是什么(.:format)
意思?rake routes
users GET /users(.:format) users#index
如果您检查您的index
操作,Users Controller
那么您将看到类似这样的内容
def index
@users = User.all
respond_to do |format|
format.html # index.html.erb
format.json { render json: @users }
end
end
因此,这种格式就是将要生成的响应类型。
在路由中,无论控制器的操作中定义了何种格式,都会创建响应类型的占位符。
因此,如果您的 URL 类似于:-
users GET /users --> users/index.html.erb will be rendered
users GET /users.json --> users/index.json.erb will be rendered
同样,如果您想要以PDF
或xls
格式响应,那么您只需要定义format.pdf
orformat.xls
并且您还必须定义这些新MIME
类型,这些新类型默认情况下在某些初始化程序文件中的 rails 中不存在。
因此,如果提出如下请求:-
users GET /users.xls --> users/index.xls.erb will be rendered
然后,您的路线文件将仅format.xls
在 index 操作中查找,并且users/index.xls.erb
将呈现相应的视图文件装置。