私の Rails アプリでは、条件付き検索フォームを実装する必要があります。 tweets と 座標 という名前の 2 つのテーブルがありますが、出力には空白のページが表示され、dis で行き詰まっています。私の座標コントローラー
class CoordinatesController < ApplicationController
def home
end
# def paramas(b)
#
# @b = params[:show]
# return @b
end
#def coor(latitude,longitude)
# @latitude=0
#@longitude=0
#end
def query
@a=Coordinates.find("city=?", params[:show])
if(params[:show]= a.city) then
latitude= a.latitude
longitude=a.longitude
end
if(latitude=0 && longitude=0) then
return sql="Select * from tweets where tweet_text LIKE '%text%' AND user_loc LIKE 'params[:show]' order by id desc"
else if (latitude!=0 && longitude!=0)
min_lat = latitude - 1.0
max_lat = latitude + 1.0
min_lng = longitude - 1.0
max_lng = longitude + 1.0
return sql = "Select * from tweets where tweet_text LIKE '%text%' AND ( ((longitude BETWEEN min_lng and max_lng) AND (latitude BETWEEN min_lat and max_lat)) OR (user_loc LIKE 'params[:show]') ) order by id desc"
else
return sql="Select * from tweets where tweet_text LIKE '%text%'"
end
end
end
私の Tweets_controller クラス TweetsController < ApplicationController
include CoordinatesHelper
def search
render 'tweets/search'
end
def index
# include CoordinatesHelper
sql=query
@tweets=Tweets.paginate_by_sql(sql, :page => @page, :per_page => @per_page )
#render 'tweets/index'
end
end
検索ボタンのビュー コード
<%=form_tag({controller: 'tweets', action:'index'}, method: "get") do %>
<%=label_tag(:search, "Search for:") %>
<%=text_field_tag(:text) %>
<%=label_tag(:show, "Show for:") %>
<%=text_field_tag(:show) %>
<%= submit_tag( "GO" ) %>
<% end %>
結果を表示するための私のビューコード
<%= will_paginate @tweets %>
<% @tweets.each do |tweets| %>
<ul>
<li><%= tweets.id %></li>
<li><%= tweets.tweet_created_at %></li>
<li><%= tweets.tweet_source %></li>
<li><%= tweets.tweet_text %></li>
<li><%= tweets.user_id %></li>
<li><%= tweets.user_name %></li>
<li><%= tweets.user_sc_name %></li>
<li><%= tweets.user_loc %></li>
<li><%= tweets.user_img %></li>
<li><%= tweets.longitude %></li>
<li><%= tweets.latitude %></li>
<li><%= tweets.place %></li>
<li><%= tweets.country %></li>
</ul>
<% end %>
しかし、何らかの理由で出力に空のページが表示され、何度か編集しようとしましたが、無駄でした。誰でも親切に私を助けてください