mirror of
https://github.com/ditkrg/active_model_serializers.git
synced 2026-01-23 06:16:50 +00:00
Refactor out url builders from link builder
This commit is contained in:
parent
da3802ee3c
commit
838388dc03
@ -446,23 +446,31 @@ module AMS
|
|||||||
end
|
end
|
||||||
|
|
||||||
def related_link_to_one(id, type)
|
def related_link_to_one(id, type)
|
||||||
{ related: link_builder.url_for(controller: type, action: :show, id: id) } # related resource link object
|
{ related: show_url_for(id, type) } # related resource link object
|
||||||
end
|
end
|
||||||
|
|
||||||
# related resource link object
|
# related resource link object
|
||||||
def related_link_to_many(type)
|
def related_link_to_many(type)
|
||||||
filter = { foreign_key => object.id }
|
filter = { foreign_key => object.id }
|
||||||
query_params = { filter: filter }
|
query_params = { filter: filter }
|
||||||
{ related: link_builder.url_for(controller: type, action: :index, params: query_params) }
|
{ related: index_url_for(type, query_params) }
|
||||||
end
|
end
|
||||||
|
|
||||||
def resource_links_object
|
def resource_links_object
|
||||||
return {} unless link_builder?
|
return {} unless link_builder?
|
||||||
{
|
{
|
||||||
self: link_builder.url_for(controller: type, action: :show, id: id)
|
self: show_url_for(id, type)
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def show_url_for(id, type)
|
||||||
|
link_builder.url_for(controller: type, action: :show, id: id)
|
||||||
|
end
|
||||||
|
|
||||||
|
def index_url_for(type, query_params)
|
||||||
|
link_builder.url_for(controller: type, action: :index, params: query_params)
|
||||||
|
end
|
||||||
|
|
||||||
def foreign_key
|
def foreign_key
|
||||||
"#{object.class.table_name.singularize}_id"
|
"#{object.class.table_name.singularize}_id"
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user