Действительно, цитируя это сообщение в блоге, которое вы должны знать:
Частичное является многократно используемым шаблоном представления, оно позволяет вам модульно
компоненты, которые составляют определенную страницу в логическую, связную
куски. Когда необходимые данные не передаются в частичное, это часто
трудно повторно использовать или изменить позже.
На сайте направляющие описаны некоторые простые случаи использования:
Вы также можете передавать локальные переменные в партиалы, делая их еще более
мощный и гибкий. Например, вы можете использовать эту технику для
уменьшить дублирование между новыми и редактировать страницы, сохраняя при этом
немного отличного содержания ...
Так что в вашем конкретном случае есть простой и эффективный способ сделать это
<%= render partial: 'show', locals: {profile: @profile} %>
Дополнительный совет:
Вероятно, частичное имя шоу не является хорошим вариантом, дайте ему более осмысленное имя, связанное с тем, что вы пытаетесь использовать повторно. Это звучит еще более склонно к ошибкам / путанице в сценарии RESTful, когда у вас действительно есть метод show , поэтому, вероятно, это будет файл _show.html.erb и show. html.erb file.
Надеюсь, это помогло.