2016-02-04 39 views
1

我試圖得到這個工作,我有這個Rails的在其中方法不工作

語法錯誤,意想不到的 '=',預計 ')' @tm = Master.where( 「merchant_deep_link」= NE)

而且這是在我的控制器

@newevent = Event.find(params[:id]) 
ne = @newevent.Master 
@tm = Master.where("merchant_deep_link" = ne) 

我如何去製作@tm顯示所有的結果是有neMerchant_deep_link並返回行(有可能是隻有其中一個但是它確實有掃描24K行)

回答

1

我怎麼去使@tm顯示所有具有內部Merchant_deep_link

@newevent = Event.find params[:id] 
@tm = Master.where merchant_deep_link: @newevent.master.id 

東北結果這將返回一個collection對象@tm,這意味着你要循環通過記錄 - 可能與.each ...

@tm.each do |tm| 
    tm.id 
end 

-

如果我運行tm.id它不顯示ID

如果你想要回id@tm,你就可以使用pluck

@newevent = Event.find params[:id] 
@tm = Master.where(merchant_deep_link: @newevent.master.id).pluck(:id) 

這將仍然返回collection,但最重要的是,該集合將僅包含id s。

2

它應該是:

@tm = Master.where('merchant_deep_link' => ne.id) 

或者

@tm = Master.where(merchant_deep_link: ne.id) 

而且,順便說一句,ne = @newevent.Master應該可能是ne = @newevent.master或其他類似

+0

嘿,這有點作品,但是,如果我運行tm.id它不顯示ID? – SamAdmit

+1

@SamAdmit:它是一個集合(即對象數組),因此您應該遍歷它,或者只是獲取所需的集合,例如,首先使用'first'(或者使用'find_by'而不是'where ') – potashin

+0

仍然沒有什麼回來,我試過find_by,而不是說(甚至thogh它工作正常) – SamAdmit

相關問題