![](/img/trans.png)
[英]PG::InvalidTextRepresentation: ERROR: invalid input syntax for integer
[英]Friendly_id PG::InvalidTextRepresentation: ERROR: invalid input syntax for integer:
我嘗試使用Friendly_id,但僅對一種模型有錯誤。
軌道型號:
class Track < ApplicationRecord
extend FriendlyId
friendly_id :track_name, use: :slugged
has_many :pois
poi模型:
class Poi < ApplicationRecord
extend FriendlyId
friendly_id :name_and_city, use: :slugged
belongs_to :track
我需要按曲目列出清單
在我的pois_controller中:
def index
@pois = Poi.all
@pois = Poi.where("track_id = ?", params[:track_id])
在我的路線中:
resources :tracks, only:[], :shallow => true do
resources :pois
end
但是我想去我的pois_index,track_id的參數是一個字符串(段),而不是整數。
我能做什么 ?
在Rails中,將參數插值到原始SQL中的想法很糟糕。 這就是為什么您使用錯誤的語法會出錯。 在這種情況下,您應該使用ActiveRecord。
Poi.where(track_id: params[:track_id])
將參數插值到sql時,應防止sql注入。 ActiveRecord自動執行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.