Почему я получаю неопределенную переменную для моих параметров? Поля для нескольких параметров модели - PullRequest
0 голосов
/ 15 января 2019

Я получаю неопределенную ошибку переменной с моим приложением, утверждая, что мои параметры являются неопределенной переменной. Предполагается, что вместо этого я использую member_path?

Я работаю над приложением, которое имеет несколько моделей. Существует форма, которая использует fields_for для заполнения данных для модели, которая свисает с основной модели.

При тестировании я использую контроллер основной модели для обработки отправки формы и определения параметров, включающих атрибуты обеих моделей.

Это правильный способ использования fields_for?

Я добавлю свой код позже, так как отправляю его со своего телефона.

ОБНОВЛЕНИЕ с кодом: Вот моя форма:

<%= form_for @participant, url: {action: "create"} do |f| %>
<%= f.label :first_name, 'First:' %>
                        <%= f.text_field :first_name %>
                        <%= f.label :last_name, 'Last:' %>
                        <%= f.text_field :last_name %>
                        <%= f.label :gender, 'Sex:' %>                       
                        <%= f.select :gender, ['Male', 'Female'] %>
                        <br>
                        <br>
                        <%= f.label :email, 'Email:' %>
                        <%= f.text_field :email %>
                        <%= f.label :phone, 'Phone:' %>
                        <%= f.text_field :phone %>

                        <%= f.label :street_name, 'Street Number & Name:' %>
                        <%= f.text_field :street_name %>
                        <%= f.label :city, 'City:' %>
                        <%= f.text_field :city %>
                        <%= f.label :state, 'State:' %>
                        <%= f.text_field :state %>
                        <%= f.label :zip, 'Zip:' %>
                        <%= f.text_field :zip %>
                        <%= f.hidden_field :role, :value => 'Reader' %>
             <%= f.fields_for @participant.student_details do |student_detail_field| %>
                        <%= f.label :nationality, 'Nationality:' %>
                        <%= student_detail_field.text_field :nationality %>
                        <%= f.label :religion, 'Religion:' %>
                        <%= student_detail_field.text_field  :religion  %>
                        <%= f.label :birthdate, 'Birthdate:' %>
                        <%= student_detail_field.date_field :birthdate %>
                        <%= f.label :need_ride, 'Do you need help getting to the building?' %>
                        <%= student_detail_field.select :need_ride, ['Yes','No'] %> 
                        <br>
                        <br>
                        <%= f.label :has_spouse, 'Marital Status:' %>
                        <%= student_detail_field.select :has_spouse, ['married', 'single'] %>
                        <br>
                        <br>
                        <%= f.label :spouse_name, "If married, spouse's name:" %>
                        <%= student_detail_field.text_field  :spouse_name %>
                        <%= f.label :english_level, 'English Level:' %>
                        <%= student_detail_field.select :english_level, ['Low', 'Medium Low', 'Medium', 'Medium High', 'High']  %>
                        <%= f.label :expectations, 'What are your expectations for the program?:' %>
                        <%= student_detail_field.text_area :expectations %>
                        <%= f.label :length_of_stay, 'About how long will you be in Nashville?:' %>
                        <%= student_detail_field.select :length_of_stay, ['Less than 1 Year', '1 Year', '1-2 Years', '2-3 Years', '3+ Years'] %>
                        <%= f.label :exact_length, 'Please tell us exactly how long you plan to be in town:' %>
                        <%= student_detail_field.text_area :exact_length %>
            <% end %>

<br>
<br>

<%= f.submit 'Register' %> 

<% end %>

Вот соответствующий код в моем контроллере:

def new
    @participant= Participant.new
end

 def create
     @participant = Participant.create(participant_params)
    @participant.save
    if @participant.save
            flash[:success] = "Successfully Registered!"        

            #email notifes admin of new registration
        NotifyMailer.notify_email(@participant).deliver_now

        redirect_to '/signup'
  end

def participant_params
    params.require(:participant).permit(:first_name, :last_name, :gender, :email, :birthdate, :phone, :street_name, :city, :state, :zip, :nationality, :religion, :need_ride, 
      :has_spouse, :spouse_name, :english_level, :expectations, :length_of_stay, :exact_length, :volunteer_id, :matched, :returned_home)

  end

Когда я проверяю это на локальном сервере, я получаю эту ошибку:

неопределенная локальная переменная или метод member_params Вы имели в виду? путь_участника

Заранее спасибо!

...