Ruby On Rails ... Что частичные имеют доступ делать (локальные, переменные экземпляра ... что-нибудь?) - PullRequest
1 голос
/ 01 марта 2011

В приведенном ниже фрагменте кода кажется, что частичное в form_user_fields не имеет доступа ни к Patient_form, ни к пользовательским полям, но оно имеет доступ к @patient. Это ожидаемое поведение?

<%= form_for @patient do |patient_form| %>
    <%= patient_form.fields_for :user do |user_fields| %>

        <% render :partial => 'shared/form_user_fields' %>

1 Ответ

3 голосов
/ 01 марта 2011

Как правило, частичные имеют доступ к тем же переменным, что и другие представления (переменные экземпляра из контроллера.) Они не будут иметь доступа к переменным, которые вы создаете в других представлениях, которые включают частичные значения, что является ожидаемым поведением.

Если вы хотите получить доступ к вашим локальным переменным, вы можете передать их частичному:

<%= render :partial => "shared/form_user_field", :locals => {:user_fields => user_fields, :patient_form => patient_form} %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...