2013-07-22 36 views
0

我在應用程序的搜索字段中使用jQuery自動完成功能。該字段搜索並返回一個地址作爲散列。我需要在哈希值之間添加一個換行符,但是我沒有做的是正在工作。使用rails時的Ruby換行符jquery自動完成gem

在我的控制,我有:

autocomplete :restaurant, :name, :display_value => :funky_method, :extra_data => [:id, :address, :city, :state, :zip_code`] 
在我的模型

我:

def self.search(search) 
    if search 
    where('id @@ ?', search) 
    else 
    scoped 
    end 
end 

在我的模型我試過如下:

def funky_method 
    "#{self.id}" + "\n" + "#{self.name}" + "\n" + "#{self.address}" + "\n" + "#{self.city}" + "\n" + "#{self.state}" + "\n" + "#{self.zip_code}" 
end 

和:

def funky_method 
    "#{self.id}" + "<br />" + "#{self.name}" + "<br />" + "#{self.address}" + "<br />" + "#{self.city}" + "<br />" + "#{self.state}" + "<br />" + "#{self.zip_code}" 
end 

和:

def funky_method 
    "#{self.id}" + <br /> + "#{self.name}" + <br /> + "#{self.address}" + <br /> + "#{self.city}" + <br /> + "#{self.state}" + <br /> + "#{self.zip_code}" 
end 

在我看來,我有:

<%= form_tag users_path do %> 
    <p>Please select a restaurant First</p> 
     <%= autocomplete_field_tag :search, params[:search], autocomplete_restaurant_name_users_path, :value_method => :id %> 
      <%= submit_tag "Next", :name => nil, :id => "submit" %> 
    <% end %> 

回答

0

的問題是,HTML不和瀏覽器不中,<textarea>塊外榮譽換行符,或在<pre>塊內。

您必須使用<br>而不是「\ n」或將單個行包裝在<p>標記中,或將您的輸出嵌入到上述之一中。你可以設置一個textarea爲「只讀」來關閉塊中的編輯。

你可以在Ruby /服務器端做到這一點,或讓jQuery在插入到文檔之前做到這一點。

0

嘗試使用html_safe

def funky_method 
    "#{self.id} <br /> #{self.name} <br /> #{self.address} <br /> #{self.city} <br /> #{self.state} <br /> #{self.zip_code}".html_safe 
    end 
0

幾個其他的方式來實現這一目標:

加入與\nActionView::Helpers::TextHelperhttp://api.rubyonrails.org/classes/ActionView/Helpers/TextHelper.html#method-i-simple_format)模塊。每發現一個\n後,此方法都會追加一個<br />標記,但不會將其刪除。

def funky_method 
    simple_format([ self.id, self.name, self.address, self.city, self.state, self.zip_code ].join('\n')) 
end 

或者沒有如上TextHelper模塊:

加入由<br />

def funky_method 
    [ self.id, self.name, self.address, self.city, self.state, self.zip_code ].join('<br />').html_safe 
end 
+0

謝謝大家。我嘗試所有的變化在這裏,但每一個只在該行附加字符串「
」,以便它顯示爲「id
名稱
地址
城市
狀態
zip」我添加了什麼在我看來,如果有幫助。 – Ria