在我的 Rails 应用程序中,我有两个控制器,即 tweets_controller 和坐标控制器。在我的最终视图中,我想使用坐标控制器中的条件显示 tweets_controller 的属性。我面临的问题是 tweets_controller 应该知道坐标控制器的变量。我的坐标控制器代码
def CoordinatesHelper.query()
a = Coordinates.where(city: params[:show])
b = a.first
if a.count == 1
latitude = b.latitude
longitude= b.longitude
end
if(latitude=0 && longitude=0)
sql="Select * from tweets where tweet_text LIKE '%text%' AND user_loc LIKE 'show' order by id desc LIMIT 30"
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
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 'show') ) order by id desc LIMIT 30"
else
sql="Select * from tweets where tweet_text LIKE '%text%' LIMIT 30"
end
end
end
我的 tweets_controller 只显示 tweets 表的属性。使用 tweets_controller 中的定义“索引”。纬度、经度等条件来自坐标表,有什么方法可以使 tweets_controller 能够评估坐标表纬度,经度,然后在最终视图中显示推文。准确地说,坐标控制器在搜索按钮中有纬度、经度和城市变量,以及参数[:show]。tweets_controller 应该可以访问坐标控制器的属性。我该怎么做?
<%= @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 %>
这是最终的视图内容,为了显示它,纬度和经度的条件在坐标表中