(.:格式)是什么意思在耙路线的输出?
users GET /users(.:format) users#index
解决方法
如果您检查用户控制器的索引操作,那么您将看到类似的内容
def index @users = User.all respond_to do |format| format.html # index.html.erb format.json { render json: @users } end end
所以,这种格式是将被生成的响应类型.
在路由中,创建响应类型的占位符,而不管控制器的动作中定义了什么格式.
所以,如果你的网址是这样的:
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或format.xls,并且您还必须定义这些新的MIME类型,默认情况下在某些初始化程序文件中的rails中不存在.
那么,如果一个请求是这样的: –
users GET /users.xls --> users/index.xls.erb will be rendered
您的路由文件将只是在索引操作中查找format.xls,相应的视图文件意味着将呈现users / index.xls.erb.