2015-12-22 3 views
1

Может ли кто-нибудь увидеть, что не так с этой формой выражения?Rails 4 - Простые аргументы формы

<%= simple_fields_for :article do |f| %> 
    <%=f.input :q, :nil, placeholder: "Search" %> 
<% end %> 

Сообщение об ошибке говорит:

wrong number of arguments (3 for 1..2) 

Так что- мой более широкий код:

статьи # index.html.erb:

 <div class="row"> 
     <div class="col-md-10 col-md-offset-1"> 
     <%= render 'articles/searchform' %> 
     </div> 

     <div class="col-md-10 col-md-offset-1"> 
      <% Article.all.sort_by(&:created_at).in_groups_of(3) do |group| %> 

</div> 


    <div class="row"> 
      <% group.compact.each do |article| %> 
       <div class="col-md-4"> 
       <div class="indexdisplay"> 
        <%= image_tag article.image_url, width: '100%', height: 

     '200px' if article.image.present? %> 
     <div class="indexheading"> <%= link_to article.title, article %> </div> 
     <div class="indexsubtext"> <%= truncate(article.body, :ommission => 

    "...", :length => 250) %></div> 

         </div> 
         </div> 
         <% end %> 


       </div> 



    <div class="row"> 
      <%= link_to 'New Article', new_article_path %> 
    </div> 

В моих взглядов статьи # форма .html.erb

 <div class="col-xs-10 col-xs-offset-1"> 
      <%= simple_form_for(@article) do |f| %> 
       <%= f.error_notification %> 

        <div class="form-inputs"> 
         <%= f.input :title, autofocus: true %> 
         <%= f.input :body, :label => "Post", :input_html => {:rows => 10} %> 
         <%= f.input :image, :label => "Add an image" %> 

        </div> 

        <div class="form-actions"> 
         <%= f.button :submit, "Review a draft", :class => 

     'formsubmit' %> 
         </div> 
       <% end %> 

В статьях # searchform.html.erb

 <% f.simple_fields_for :article do |a| %> 

      <%=a.input :q, :nil, placeholder: "Search" %> 

    <% end %> 

Я получаю эту ошибку:

undefined local variable or method `f' for #<#<Class:0x007f874133c410>:0x007f8740448058> 
+0

Не могли бы вы предоставить полный код формы? – Dusht

+0

У вас есть 3 ошибки в этом вопросе, можете ли вы описать, какие ошибки вы видите, и в какой момент? –

+0

Когда я беру предложение Натанвды и добавляю f. к форме формы поиска ошибка, которую я получаю, является окончательным неопределенным локальным «f». Это может быть связано с тем, что я добавляю форму поиска, частично к индексу, а не к основной форме. не уверен. – Mel

ответ

1

Вы недостающую переменную форму, например f.

Например, если у вас есть simple_form_for ... do |f| то вы должны написать

= f.simple_fields_for :article do |article| 
    = article.input :q, :nil, placeholder: 'search'  

[EDIT] Вы, кажется, смущен. simple_fields_for - это специальная команда для итерации по вложенным элементам внутри формы (например, комментариев для сообщения). Для этого simple_fields_for понадобится окружающая обстановка (simple_form_for). Для вашей формы поиска вы должны просто использовать simple_form_for.

+0

Привет -I добавил больше моей формы и ошибки, которые я получаю – Mel

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