Я реализовал нечто подобное в проекте.Я изложу концепцию и приведу пример кода.Я оставлю вас, чтобы понять логику или взять кусочки примера кода в соответствии с вашей реализацией системы.
Я бы использовал для этого помощника.
В app /views / layouts / application.html.erb
<head>
...
</head>
<body style="<%= show_user_bg %>">
...
</body>
In app / helpers / application_helper.rb
module ApplicationHelper
def show_user_bg
"background:transparent url(#{@user.background_image}) no-repeat fixed left top;"
end
end
Просто убедитесь, что ваша модель пользователяимеет столбец background_image, и это установлено.
Использование помощника делает его более динамичным и чистым.Например, вы можете бросить в условиях:
module ApplicationHelper
def show_user_bg
# Show user background
if user_signed_in?
"background:transparent url(#{@user.background_image}) no-repeat fixed left top;"
# Otherwise, show a default background image
else
"background:transparent url('/images/default_bg.png') no-repeat fixed left top;"
end
end
end
Надеюсь, что поможет!