我有一个响应 html 和 png 的控制器(我动态加载图像并将其呈现为文本)。这使得控制器代码变得混乱,今天我发现了 respond_with,它看起来很酷,但我不知道如何使它适用于不同于 html、json 和 xml 的格式(如 png)
我希望这会起作用,但它仍然会尝试查找模板文件并忽略我的方法:(
模型/用户.rb
class User < ActiveRecord::Base
def to_png
File.read("some_file.png")
end
end
控制器/users_controller.rb
class UsersController < ApplicationController
respond_to :html, :png
# GET /users/1
def show
@user = User.find(params[:id])
respond_with(@user)
end
end