2013-08-02 120 views
0

在My rails應用程序中,我有兩個控制器,分別是tweets_controller和coordinates_controller。在我的最終視圖中,我想使用coordinate_controller中的條件顯示tweets_controller的屬性。我面臨的問題是tweets_controller應該知道coordinates_controller的變量。 我的coordinates_controller如何定義在rails中使用其他控制器變量的方法3

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_controller.The條件,例如緯度定義「索引」的屬性,東經來自座標表,是代碼有沒有辦法通過其中tweets_controller將能夠評估座標表的緯度,經度,然後在最終視圖中顯示推文。確切地說,座標控制器在搜索按鈕中具有變量緯度,經度和城市,以及params [:show]。 tweets_controller應該可以訪問coordinates_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 %> 

這是最後的觀看內容,並顯示此,緯度和經度的條件在座標表

回答

0

你所需要的就是在模型層的鳴叫模型之間協調的關聯模型,如下所示:

class Tweet < ActiveRecord::Base 
    has_one :coordinate 
end 

這說明推文有座標。

這個問題不是關於從一個控制器訪問變量到另一個(這應該永遠不會發生,除非它是父子控制器) 但問題是你不建模之間的關聯正確設置。

+0

通過包含此關聯並在tweets_controller中使用coordinates_controller的幫助器方法,可以訪問tweets _controller中的座標嗎? – user2492854

相關問題