[英]How to fetch records from database which contains a search value from a serialised column, in rails?
[英]Fetch specific column value from active records in rails
我想從活動記錄中獲取特定的列值,我在視圖中編寫了sql查詢,但未獲取數據... new.html.erb
<%= f.text_field :pan_number, { value: OfferLetter.where(["candidate_id = (?)",params[:userID]]).select("pan_number").first, placeholder: 'COYP1234IN', class: 'form-control' } %>
然后我得到以下結果
OfferLetter.where(["candidate_id = ?",17]).select("pan_number")
OfferLetter Load (0.3ms) SELECT `offer_letters`.`pan_number` FROM `offer_letters` WHERE (candidate_id = 17)
=> #<ActiveRecord::Relation [#<OfferLetter id: nil, pan_number: "COPYD123IN">]>
請幫助我,我是紅寶石的新手,告訴我我在哪里錯了,什么是問題
您可以為此使用pluck,請參閱http://apidock.com/rails/ActiveRecord/Calculations/pluck
在您的情況下,請嘗試以下操作:
OfferLetter.where("candidate_id = ?", params[:userID]).pluck("pan_number").first
和
當您不熟悉ror時,以下內容可幫助您前進:
請勿僅在Models中編寫ActiveRecord查詢,而是為了在視圖,控制器等中更快地執行查詢。
因此,在這種情況下,請嘗試在Model處使用“ get_pan_number”之類的類方法,然后在視圖中使用它。
OfferLetter.rb
def self.get_pan_number(cand_id)
OfferLetter.where("candidate_id = ?", cand_id).pluck("pan_number").first
end
並在視圖中按如下方式使用它:
new.html.erb
<% pan_no = OfferLetter.get_pan_number(params[:userID]) %>
<%= f.text_field :pan_number, { value: pan_no, placeholder: 'COYP1234IN', class: 'form-control' } %>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.