PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

ProtocolViolation:ERROR:pesan ikat memasok 0 parameter, tetapi pernyataan yang disiapkan membutuhkan 1

Dalam kasus Anda, tampaknya karena Anda menggunakan @comments.to_sql Anda menarik pernyataan yang sudah disiapkan itu ke subpilihan Anda tanpa memasukkan parameter untuk itu. Anda dapat mencoba memasukkan data komentar seperti ini:

  @comments = current_clinician.comments.select('ON (patient_id) *').uniq.order("patient_id, created_at DESC").include(:comment)
  @comment_list = @comments.include(:comment)

Masalah ini juga tampaknya berasal dari cara pernyataan yang disiapkan dibuat di Rails dan dapat disebabkan oleh salah satu masalah di dalam Rails itu sendiri (Masalah Rails #15920 , yang telah diperbaiki di Rails 4.2) atau dengan masalah dengan berbagai permata yang membantu menghasilkan kueri (contoh:Rails issue #20236 ) atau bahkan dengan cara Anda mendefinisikan asosiasi model Anda (Masalah rel #12852 ).

Dimungkinkan untuk langsung menonaktifkan pernyataan yang disiapkan dengan menambahkan arahan ke database.yml Anda berkas:

production:
  adapter: postgresql
  database: prod_dbname
  username: prod_user
  password: prod_pass
  prepared_statements: false

Tapi pertama-tama, Anda mungkin ingin memeriksa dan memastikan Anda tidak menggunakan parameter yang tidak perlu dalam asosiasi model Anda seperti ini:

class DashboardTab < ActiveRecord::Base
  has_many :dashboard_tab_feeds, foreign_key: :dashboard_tab_id, dependent: :destroy
  has_many :social_feeds, through: :dashboard_tab_feeds
end

class DashboardTabFeed < ActiveRecord::Base
  belongs_to :social_feed
  belongs_to :dashboard_tab
end

class SocialFeed < ActiveRecord::Base
  has_many :dashboard_tab_feeds, foreign_key: :social_feed_id, dependent: :destroy
end

...yang seharusnya hanya meninggalkan foreign_key , seperti ini:

class DashboardTab < ActiveRecord::Base
  has_many :dashboard_tab_feeds, dependent: :destroy
  has_many :social_feeds, through: :dashboard_tab_feeds
end

class DashboardTabFeed < ActiveRecord::Base
  belongs_to :social_feed
  belongs_to :dashboard_tab
end

class SocialFeed < ActiveRecord::Base
  has_many :dashboard_tab_feeds, dependent: :destroy
end



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. TIDAK DAPAT MEMBERIKAN CREATE VIEW PADA SKEMA

  2. PostgreSQL:memilih baris yang muncul pada hari tertentu dalam seminggu, di zona waktu tertentu

  3. PDO dapatkan pecahan detik dari Postgres

  4. Bagaimana cara mengatur penyisipan ke file yang dibuat grails dengan nomor urut berikutnya?

  5. Buat array postgres domain khusus