2016-01-08 2 views
-2

Я пытаюсь отобразить страницу в событии click в приложении Rails.Ошибка при рендеринге формы в рельсах

В моей странице я рендеринг парциального как <%= render "form" %>

Моей форму парциальный под contacts/_form.html.erb.

В моем _form.html.erb У меня есть поля формы.

Но я не получаю визуализированную форму.

Это ошибка я получаю

Отсутствия частичных страниц/формы с {: обработчики => [: Еврорадио,: Rjs,: строитель,: RHTML,: rxml], Форматы => [ : HTML]: локаль => [: еп,: ан]} в поле зрения путей "/ главная/убунту/рабочее пространство/приложение/просмотров"

ниже мой _form.html.erb

<%= form_for(@contact) do |f| %> 
    <% if @contact.errors.any? %> 
    <div id="error_explanation"> 
    <h2><%= pluralize(@contact.errors.count, "error") %> prohibited this contact from being saved:</h2> 

    <ul> 
     <% @contact.errors.full_messages.each do |msg| %> 
    <li><%= msg %></li> 
     <% end %> 
    </ul> 
    </div> 
    <% end %> 

    <div class="col-md-4"> 
    <div class="form-group"> 
    <div class="field"> 
    <%= f.label :name %><br /> 
    <%= f.text_field :name, :class=>"form-control", :placeholder=>"Enter Your Name" %> 
    </div> 
    <div class="field"> 
     <%= f.label :email %><br /> 
     <%= f.text_field :email, :class=>"form-control", :placeholder=>"Enter Your Email"%> 
    </div> 
    <div class="field"> 
    <%= f.label :phone %><br /> 
    <%= f.text_field :phone, :class=>"form-control", :placeholder=>"Enter Your Phone Number"%> 
    </div> 
    </div> 
    </div> 

    <div class = "col-md-8"> 
    <div class="form-group"> 
    <div class="field"> 
    <%= f.label :description %><br /> 
    <%= f.text_area :description, :class=>"form-control", :size=>"20x5", :placeholder=>"Enter Your Message"%> 
    </div> 
    </div> 
</div> 

    <div class="actions"> 
    <%= f.submit "Submit", :class=> "button1"%> 
    </div> 
<% end %> 

Что утра Я делаю неправильно?

ответ

0

Вы должны позвонив парциальные из erb файла, который находится в рамках pages_controller, вот почему он пытается найти ваше _form частичных под views/pages каталог.

Вы должны дать правильный путь для _form как:

<%= render "contacts/form" %> 

EDIT:

Как теперь вы столкнулись model_name' for NilClass:Class ошибку. Это означает, что @contact в первой строке вашего _form - nil. Вы не инициализировали @contact. Попробуйте следующее:

<%#= Preferably, you should initialize '@contact = Contact.new' in your action and form should be unchanged %> 
<%= form_for(Contact.new) do |f| %> 
+0

С этим я получаю 'неопределенный метод' MODEL_NAME»для NilClass: Класс ' – Suraj

+0

@Suraj Обновленный ответ. Если вы все еще сталкиваетесь с проблемой, отправьте соответствующее действие. – RAJ

0

Отсутствующие части страниц/форму с {: обработчики => [: Еврорадио,: Rjs,: строитель, : RHTML,: rxml]: форматы => [: HTML] : локаль => [: еп,: ан]} в поле зрения путей "/ главная/Ubuntu/рабочее пространство/приложение/просмотров"

Поскольку ваша форма находится под контактов папку, и вы пытаетесь сделать это в страницы, вам нужно также добавить расположение частичного.

<%= render "contacts/form" %> 
+0

С этим я получаю 'undefined method' имя_модели 'для NilClass: Class ' – Suraj

Смежные вопросы