0
このチュートリアルのコードはERB形式ですが、私はHAMLでそれをやっています。検索バーをHAML形式で作成する
ERBコード:
私は今HAMLに持って何<%= form_tag search_movies_path, method: :get, class: "navbar-form navbar-right", role: "search" do %>
<p>
<%= text_field_tag :search, params[:search], class: "form-control" %>
<%= submit_tag "Search", name: nil, class: "btn btn-default" %>
:
- if user_signed_in?
= link_to current_user.name, edit_user_registration_path
= link_to "Sign Out", destroy_user_session_path, method: :delete
= link_to "Selling", new_post_path, class: "button"
= form_tag posts_path, :method => :get do
= text_field_tag :search, params[:search]
= submit_tag "Search", name: nil, class: "btn btn-default"
- else
= link_to "Sign in", new_user_session_path
= link_to "Sign Up", new_user_registration_path
= link_to "Selling", new_post_path, class: "button"
= form_tag posts_path, :method => :get do
= text_field_tag :search, params[:search]
= submit_tag "Search", name: nil, class: "btn btn-default"
しかし、それは動作しません。誰もそれを行う方法を知っていますか?
私の検索方法は、次のようになります。
def search
if params[:search].present?
@posts = Post.search(params[:search])
else
@posts = Post.all
end
end
を「動作しない」とは何:ここ
はあなたが定義したアクションをヒットする
search_posts_path
を使用して、投稿ERBの等価HAMLですか?あなたの説明から、それが何をすべきか、問題がどこにあるのかは明らかではありません。 – tadmanこのプロジェクトでは、私はsearchkick gemfileを実装しましたが、hamlの検索フォームをどのように書くのか分からない以外は、すべての作業を行っています。私はエラーがこのコード行から来ていると信じています: = form_tag posts_path、:method =>:do do ありがとうあなたの助けを借りて –
HAMLとHTMLは1:1マッピングです。同じこと。 – tadman