我有一条路线:GET /api/:api_version/publishers/:id(.:format) {:controller=>"api/publishers", :action=>"show"}
所以我在publishers_controller
中弹出api
,然后看起来:
# Provides access to publisher information
class Api::PublishersController < Api::BaseResourceController
inherit_resources
respond_to_data_formats
before_filter :find_publisher
before_filter :require_publisher_login, :only => :authenticate
actions :show
# Note: We remove App scope from cache path, since Publisher info should be cached across all apps
caches_action :show, :login, :cache_path => lambda {|c| {:version => c.send(:publisher_version), :model_version => Publisher.cache_config.version}}, :expires_in => 60.seconds
# Action redirects the top frame to the publisher's site (for the user to log in)
def login
# Prevent infinite loop where the page redirects to itself.
raise ArgumentError, 'Publisher website url is not configured' if @publisher.website_url.blank?
end
def authenticate
respond_with(@publisher)
end
private
def find_publisher
params[:publisher_id] = params[:id]
super
end
def publisher_version
@publisher.lock_version
end
end
没有show
功能,所以我怎样才能看到它的作用?
答案 0 :(得分:2)
此类继承show
方法,大概来自Api::BaseResourceController
。如果我不得不打赌,我猜Api::BaseResourceController
使用inherited_resources或类似的东西,只是假设show
方法应该做一个非常典型的事情:找到记录并显示它使用可用的模板。