1
私はRailsアプリケーションに簡単な検索を実装しました。検索をクリックするたびに結果は返されませんが、同じままです。Rails単純検索が機能しません
IモデルContract
を持っているが、以下、私は別のレールを有するContract
、index.html.erb
、
<form action="<%= contracts_path%>" method ="get">
<div class="col-lg-6">
<div class="input-group">
<%= text_field_tag :search, params[:search], class: 'form-control'%>
<span class="input-group-btn">
<%= submit_tag "Search", class: "btn btn-success" %>
</span>
</div>
</div>
</form>
<% if @current_user.contracts.present? %>
<% @current_user.contracts.each do |f| %>
<% if @current_user.contracts.present? %>
<% @current_user.contracts.each do |f| %>
<tr>
<td><%= f.contract_name %></td>
<td><%= f.contract_email %></td>
<td><%= f.contract_type %></td>
<td><label class="label label-success" ><%= f.contract_relationship %></label></td>
<% end %>
<% else %>
<td colspan="5"><center>There are currently no contracts yet.</center></td>
<% end %>
</tr>
でコードContract
コントローラで
def self.search(search)
where(["contract_name LIKE ?", "%#{search}%"])
end
、
def index
@user = User.find_by_id(params[:user_id])
@search = params[:search]
if @search
@contracts = @current_user.contracts.search(@search).order("created_at DESC")
else
@contracts = @current_user.contracts.order('created_at DESC')
end
end
あります完全に動作するアプリ、私は検索コードとまったく同じ方法に従いますが、このRailsアプリケーションでは動作しません。私はまた、別のプロジェクトのログがこれを返すことに気付きました。これは完全に機能します。
SELECT "coworkings".* FROM "coworkings" WHERE "coworkings"."partner_id" = ? AND (title LIKE '%myspace%') ORDER BY created_at DESC [["partner_id", 20]]
このプロジェクトは、これだけを返すが、他の半分が欠けているように思える、
SELECT "contracts".* FROM "contracts" WHERE "contracts"."user_id" = ? [["user_id", 3]]
奇妙な私は別のプロジェクトのとまったく同じ方法に従いますが、それはまだ、このアプリケーションでは動作しません。私は両方のプロジェクトに
SQLite3
を使用しています。もしあなたが私が作ったエラーを指摘することができれば幸いです。
私は試しました。それは何も返しませんし、動作しません。 –