2016-12-14 15 views
1

Rubyアプリケーションがあり、検索機能を実装しようとしています。検索要求を処理するコードがありますが、検索バーを表示することができません。私はapplication.html.hamlにコード化しましたが、不正なネストエラーが発生します。私は間違って何をしていますか?Rubyアプリケーションに検索バーが表示されない

%body 
    %header 
     .wrapper.clearfix 
      #logo= link_to "Scribble", root_path 
       <li><%= form_tag(search_path, method: :get) do %> 
        <%= text_field_tag(:post_title, params[:post_title]) %> 
        <%= submit_tag "Search" %> 
       <% end %> 
      %nav 
       - if user_signed_in? 
        = link_to current_user.name, edit_user_registration_path 
        = link_to "Add New Inspiration", new_post_path, class: "button" 
       - else 
        = link_to "Sign in", new_user_session_path 
        = link_to "Sign Up", new_user_registration_path, class: "button" 
    %p.notice= notice 
+0

を期待通り、このコードは動作するはずですが、あなたは、エラーのスタックトレースを投稿してくださいことはできますか?また、このリンクが役立つかどうかを見てください:http://stackoverflow.com/a/13524362/259889 – Sid

+0

'#logo'内の部分は有効なHamlのようには見えません。 – Stefan

+0

こんにちは@Stefan、なぜこのコードでは灰色表示されているのか分かりませんが、その部分はうまくいきます。クリックするとユーザーがホームページに戻るというロゴが表示されます。その部分はうまく動作しますが、それがその下にあるものに影響を与えていると思いますか? –

答えて

0

をERBべきではありませんので、あなたはHAMLビュー内ERB構文を使用している、あなたは、テンプレートの残りの部分はHAMLで書かれたERBを、持っています。

%body 
    %header 
     .wrapper.clearfix 
      #logo= link_to "Scribble", root_path 
      %li 
       = form_tag(search_path, method: :get) do 
        = text_field_tag(:post_title, params[:post_title]) 
        = submit_tag "Search" 
      %nav 
       - if user_signed_in? 
        = link_to current_user.name, edit_user_registration_path 
        = link_to "Add New Inspiration", new_post_path, class: "button" 
       - else 
        = link_to "Sign in", new_user_session_path 
        = link_to "Sign Up", new_user_registration_path, class: "button" 
    %p.notice= notice 
+0

こんにちは、このコードは私のためには機能しません。このエラーが発生します。 '不正なネスティング:コンテンツを%divと同じ行に指定することはできません。 %liの行の周りに、私はこのエラーが何を意味するのか、それを修正する方法を知らない。 –

+0

@ C13ええ、そう、申し訳ありません。答えが変更されました。今はうまくいくでしょう –

+0

それはどちらもうまくいかず、それには文法上の誤りがたくさんあります。私はそのコードに何が間違っているのか分からないので、検索ボックスが表示されない理由を理解できません。 –

0

それはHAML構文なると9行に第五を通じて

.wrapper.clearfix 
    = form_tag(search_path, method: :get) do 
    = text_field_tag(:post_title, params[:post_title]) 
    = submit_tag "Search" 
+0

「不正なネスティング:コンテンツを%divと同じ行に指定することはできません。また、その中に入れ子にすることもできません。 '= form_tag'で始まる行にある –

関連する問題