0
我有幾個全局代碼片段正在被查詢幾乎遍及整個應用程序。所有的作品,但當我看着我的日誌,我意識到事情看起來不漂亮。我想知道是否有重構代碼的方法。任何幫助表示讚賞。在軌中重構活動記錄全局查詢
module ApplicationHelper
include GlobalSettings
end
該查詢看起來像這樣。
module GlobalSettings
def app_facebook_page
"http://facebook.com/#{account_setting.facebook}" if account_setting.facebook.present?
end
def app_linkedin
"https://www.linkedin.com/#{account_setting.linkedin}" if account_setting.linkedin.present?
end
def app_twitter
"https://twitter.com/#{account_setting.twitter}" if account_setting.twitter.present?
end
def app_google_plus
"https://plus.google.com/#{account_setting.googleplus}" if account_setting.googleplus.present?
end
def app_instagram
"https://instagram.com/#{account_setting.instagram}" if account_setting.instagram.present?
end
def app_pinterest
"https://www.pinterest.com/#{account_setting.pinterest}" if account_setting.pinterest.present?
end
def app_address
account_setting.address.empty? ? '' : account_setting.address
end
def app_meta_title
account_setting.title.empty? ? '' : account_setting.title
end
def app_meta_description
account_setting.description.empty? ? '' : account_setting.description
end
def app_city
account_setting.city.empty? ? '' : account_setting.city
end
def app_postcode
account_setting.postcode.empty? ? '' : account_setting.postcode
end
def app_google_analytics
account_setting.google_analytics.nil? ? '' : account_setting.google_analytics
end
def app_country
account_setting.country.empty? ? '' : account_setting.country
end
def app_logo
if account_setting.logo.blank?
"#{ current_account.subdomain.capitalize }"
else
cl_image_tag("#{ account_setting.logo }", height: '30')
end
end
def app_favicon
if current_account
if account_setting.favicon.blank?
'/assets/favicon/apple-touch-icon-144.png'
else
"#{account_setting.favicon}"
end
end
end
def app_social_cover
if current_account
if account_setting.social_cover.blank?
'/assets/facebook-timeline.png'
else
"#{account_setting.social_cover}"
end
end
end
def account_setting
Setting.last
end
end
我的日誌看起來有些不乾淨。有什麼可以解決這個問題?
Started GET "/settings/1/edit" for 127.0.0.1 at 2015-05-04 00:44:59 +0200
Processing by SettingsController#edit as HTML
Parameters: {"id"=>"1"}
User Load (0.4ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 ORDER BY "users"."id" ASC LIMIT 1 [["id", 1]]
Account Load (0.2ms) SELECT "public"."accounts".* FROM "public"."accounts" WHERE "public"."accounts"."subdomain" = $1 LIMIT 1 [["subdomain", "demo"]]
Setting Load (0.3ms) SELECT "settings".* FROM "settings" WHERE "settings"."id" = $1 LIMIT 1 [["id", 1]]
Setting Load (1.9ms) SELECT "settings".* FROM "settings" WHERE "settings"."account_id" = $1 LIMIT 1 [["account_id", 1]]
Rendered settings/edit.html.slim within layouts/emet (76.9ms)
Setting Load (1.3ms) SELECT "settings".* FROM "settings" ORDER BY "settings"."id" DESC LIMIT 1
Account Load (0.6ms) SELECT "public"."accounts".* FROM "public"."accounts" WHERE "public"."accounts"."id" IN (1)
CACHE (0.0ms) SELECT "settings".* FROM "settings" ORDER BY "settings"."id" DESC LIMIT 1
CACHE (0.0ms) SELECT "public"."accounts".* FROM "public"."accounts" WHERE "public"."accounts"."id" IN (1)
CACHE (0.0ms) SELECT "settings".* FROM "settings" ORDER BY "settings"."id" DESC LIMIT 1
CACHE (0.0ms) SELECT "public"."accounts".* FROM "public"."accounts" WHERE "public"."accounts"."id" IN (1)
CACHE (0.0ms) SELECT "settings".* FROM "settings" ORDER BY "settings"."id" DESC LIMIT 1
CACHE (0.0ms) SELECT "public"."accounts".* FROM "public"."accounts" WHERE "public"."accounts"."id" IN (1)
CACHE (0.0ms) SELECT "settings".* FROM "settings" ORDER BY "settings"."id" DESC LIMIT 1
CACHE (0.0ms) SELECT "public"."accounts".* FROM "public"."accounts" WHERE "public"."accounts"."id" IN (1)
CACHE (0.0ms) SELECT "settings".* FROM "settings" ORDER BY "settings"."id" DESC LIMIT 1
CACHE (0.0ms) SELECT "public"."accounts".* FROM "public"."accounts" WHERE "public"."accounts"."id" IN (1)
CACHE (0.0ms) SELECT "settings".* FROM "settings" ORDER BY "settings"."id" DESC LIMIT 1
CACHE (0.0ms) SELECT "public"."accounts".* FROM "public"."accounts" WHERE "public"."accounts"."id" IN (1)
CACHE (0.0ms) SELECT "settings".* FROM "settings" ORDER BY "settings"."id" DESC LIMIT 1
CACHE (0.1ms) SELECT "public"."accounts".* FROM "public"."accounts" WHERE "public"."accounts"."id" IN (1)
CACHE (0.1ms) SELECT "settings".* FROM "settings" ORDER BY "settings"."id" DESC LIMIT 1
CACHE (0.1ms) SELECT "public"."accounts".* FROM "public"."accounts" WHERE "public"."accounts"."id" IN (1)
CACHE (0.0ms) SELECT "settings".* FROM "settings" ORDER BY "settings"."id" DESC LIMIT 1
CACHE (0.2ms) SELECT "public"."accounts".* FROM "public"."accounts" WHERE "public"."accounts"."id" IN (1)
CACHE (0.1ms) SELECT "settings".* FROM "settings" ORDER BY "settings"."id" DESC LIMIT 1
CACHE (0.1ms) SELECT "public"."accounts".* FROM "public"."accounts" WHERE "public"."accounts"."id" IN (1)
CACHE (0.1ms) SELECT "settings".* FROM "settings" ORDER BY "settings"."id" DESC LIMIT 1
CACHE (1.0ms) SELECT "public"."accounts".* FROM "public"."accounts" WHERE "public"."accounts"."id" IN (1)
CACHE (0.1ms) SELECT "settings".* FROM "settings" ORDER BY "settings"."id" DESC LIMIT 1
CACHE (0.1ms) SELECT "public"."accounts".* FROM "public"."accounts" WHERE "public"."accounts"."id" IN (1)
CACHE (0.0ms) SELECT "settings".* FROM "settings" ORDER BY "settings"."id" DESC LIMIT 1
CACHE (0.0ms) SELECT "public"."accounts".* FROM "public"."accounts" WHERE "public"."accounts"."id" IN (1)
CACHE (0.0ms) SELECT "settings".* FROM "settings" ORDER BY "settings"."id" DESC LIMIT 1
CACHE (0.0ms) SELECT "public"."accounts".* FROM "public"."accounts" WHERE "public"."accounts"."id" IN (1)
CACHE (0.0ms) SELECT "settings".* FROM "settings" ORDER BY "settings"."id" DESC LIMIT 1
CACHE (0.1ms) SELECT "public"."accounts".* FROM "public"."accounts" WHERE "public"."accounts"."id" IN (1)
CACHE (0.0ms) SELECT "settings".* FROM "settings" ORDER BY "settings"."id" DESC LIMIT 1
CACHE (0.0ms) SELECT "public"."accounts".* FROM "public"."accounts" WHERE "public"."accounts"."id" IN (1)
CACHE (0.1ms) SELECT "settings".* FROM "settings" ORDER BY "settings"."id" DESC LIMIT 1
CACHE (0.1ms) SELECT "public"."accounts".* FROM "public"."accounts" WHERE "public"."accounts"."id" IN (1)
CACHE (0.1ms) SELECT "settings".* FROM "settings" ORDER BY "settings"."id" DESC LIMIT 1
CACHE (0.1ms) SELECT "public"."accounts".* FROM "public"."accounts" WHERE "public"."accounts"."id" IN (1)
CACHE (0.0ms) SELECT "settings".* FROM "settings" ORDER BY "settings"."id" DESC LIMIT 1
CACHE (0.0ms) SELECT "public"."accounts".* FROM "public"."accounts" WHERE "public"."accounts"."id" IN (1)
CACHE (0.1ms) SELECT "settings".* FROM "settings" ORDER BY "settings"."id" DESC LIMIT 1
CACHE (0.0ms) SELECT "public"."accounts".* FROM "public"."accounts" WHERE "public"."accounts"."id" IN (1)
CACHE (0.0ms) SELECT "settings".* FROM "settings" ORDER BY "settings"."id" DESC LIMIT 1
CACHE (0.0ms) SELECT "public"."accounts".* FROM "public"."accounts" WHERE "public"."accounts"."id" IN (1)
CACHE (0.0ms) SELECT "settings".* FROM "settings" ORDER BY "settings"."id" DESC LIMIT 1
CACHE (0.0ms) SELECT "public"."accounts".* FROM "public"."accounts" WHERE "public"."accounts"."id" IN (1)
CACHE (0.3ms) SELECT "settings".* FROM "settings" ORDER BY "settings"."id" DESC LIMIT 1
CACHE (0.1ms) SELECT "public"."accounts".* FROM "public"."accounts" WHERE "public"."accounts"."id" IN (1)
CACHE (0.0ms) SELECT "settings".* FROM "settings" ORDER BY "settings"."id" DESC LIMIT 1
CACHE (0.0ms) SELECT "public"."accounts".* FROM "public"."accounts" WHERE "public"."accounts"."id" IN (1)
CACHE (0.0ms) SELECT "settings".* FROM "settings" ORDER BY "settings"."id" DESC LIMIT 1
CACHE (0.0ms) SELECT "public"."accounts".* FROM "public"."accounts" WHERE "public"."accounts"."id" IN (1)
CACHE (0.1ms) SELECT "settings".* FROM "settings" ORDER BY "settings"."id" DESC LIMIT 1
CACHE (0.1ms) SELECT "public"."accounts".* FROM "public"."accounts" WHERE "public"."accounts"."id" IN (1)
Rendered application/head/_social_metadata.html.slim (146.3ms)
Rendered application/nav/_navigation_links.html.slim (0.8ms)
Rendered application/nav/_navigation.html.slim (2.6ms)
Completed 200 OK in 479ms (Views: 466.1ms | ActiveRecord: 9.1ms)
非常感謝。看起來更乾淨。 – Benjamin