आपके मामले में ऐसा लगता है क्योंकि आप @comments.to_sql
. का उपयोग कर रहे हैं आप उस तैयार कथन को इसके लिए पैरामीटर लाए बिना अपने उप-चयन में खींच रहे हैं। आप केवल इस तरह टिप्पणी डेटा शामिल करने का प्रयास कर सकते हैं:
@comments = current_clinician.comments.select('ON (patient_id) *').uniq.order("patient_id, created_at DESC").include(:comment)
@comment_list = @comments.include(:comment)
यह मुद्दा इस तरह से भी आता है कि तैयार किए गए बयान रेल में बनाए गए हैं और रेल के भीतर किसी भी मुद्दे के कारण हो सकते हैं (रेल मुद्दा #15920 , जिसे रेल 4.2 में ठीक किया गया है) या विभिन्न रत्नों के मुद्दों से जो प्रश्न उत्पन्न करने में मदद करते हैं (उदाहरण:रेल जारी करना #20236 ) या यहां तक कि जिस तरह से आप अपने मॉडल संघों को परिभाषित करते हैं (रेल मुद्दे #12852 )।
अपने database.yml
. में निर्देश जोड़कर तैयार किए गए बयानों को पूरी तरह से अक्षम करना संभव है फ़ाइल:
production:
adapter: postgresql
database: prod_dbname
username: prod_user
password: prod_pass
prepared_statements: false
लेकिन पहले, आप यह जांचना और सुनिश्चित करना चाहेंगे कि आप अपने मॉडल संघों में इस तरह से अनावश्यक पैरामीटर का उपयोग नहीं कर रहे हैं:
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
...जो केवल foreign_key
छोड़ देना चाहिए , इस तरह:
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