【发布时间】:2016-04-28 00:56:32
【问题描述】:
本教程代码是 ERB 格式,但我是在 HAML 中编写的。
ERB 代码:
<%= 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" %>
我现在在 HAML 中拥有的东西:
- 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
【问题讨论】:
-
什么“不起作用”?从您的解释中不清楚它应该做什么,也不清楚问题可能出在哪里。
-
所以在这个项目中我实现了 searchkick gemfile 并且我已经完成了所有的工作,除了不知道如何在 haml 中编写搜索表单。我相信错误来自这行代码:= form_tag posts_path, :method => :get do 非常感谢您的帮助
-
HAML 和 HTML 是 1:1 映射,只是表达完全相同的事物的不同方式。
-
您遇到的错误是什么?