পাথ হেল্পাররা স্ল্যাশগুলির পরিবর্তে বিন্দু সহ পাথ তৈরি করে


91

আমার রুটস.আরবিতে আমার নিম্নলিখিতগুলি রয়েছে:

resources :message_threads

আমি যখন ফোন করি:

message_threads_path(1)

আমি পাই:

/message_threads.1

কেন? আমার অন্যান্য সংস্থানগুলি ভাল কাজ করে। আমি কি এটিকে সঠিকভাবে বা কোনও কিছুতে বহুবচন করছি না?

উত্তর:


145

হ্যাঁ, এটি বহুবচনকরণ ত্রুটি।

আইডি 1 পাস করে, আমি ধরে নিই যে আপনি একটি একক রেকর্ড প্রদর্শন করতে চান।

সুতরাং আপনাকে একক 'ম্যাসেজ_থ্রেড' ব্যবহার করতে হবে:

message_thread_path(1)

যা ফল দেবে:

http://localhost:3000/message_threads/1

4
হি। এটা আমাদের সবার সাথে ঘটে; ঘন ঘন সম্ভবত আপনি এই ত্রুটিটি শেষ বারটি দেখবেন না!
— স্কট

আমি তৈরি করা একটি নামক রুটের সাথে আমি খুব একই ত্রুটিটি পাচ্ছি এবং আমি এটি বহুবচন করছি না। সেখানে কি ঠিক হবে?
— কাকুবেই

4
@ কাকুবেই, আপনার রুটগুলির ফাইল পরীক্ষা করুন। আপনি ফোন করছেন resources :my_modelনাকি resources :my_models? (আপনাকে রুটগুলির ফাইলটিতে বহুবচন করা দরকার))
— জেলিকেলকিট

আমার সমস্ত রুট বহুবচনের।
— কাকুবেই

4
সন্ধ্যা 5 টা বেজে গেছে, কীবোর্ডের বিপরীতে আমার মাথা ঘুরিয়ে দিতে চলেছিল, এটাই ছিল। ধন্যবাদ মানুষ.
— ফ্যান্টমওহলে

19

কখনও কখনও এটি যখন আপনি প্রদান না করেন: আপনার রুটে প্যারামিটার হিসাবে:

delete "delete/:id" => "home#delete"

পরিবর্তন:

delete "delete/:id" => "home#delete", as: :delete

(বিজোড় উদাহরণ উপেক্ষা করুন, কেবল এমন কিছু ঘটেছিল যা আমরা কেবল তৈরি করছি এমন একটি অভ্যন্তরীণ অ্যাপ্লিকেশানের জন্য ছুটে এসেছি)


4
এটি আমার পক্ষে কাজ করেছে। উল্লেখ করা হচ্ছে : যেমনটি আমাকে একটি নাম দিয়েছিল যা আমি "_পাথ" এ যুক্ত করতে পারি এবং রেলগুলি লিঙ্ক_টোতে আমি কী জন্য জিজ্ঞাসা করছি তা জানতে পারে। মূলত, যখন আমার রুটগুলির ফাইলটি ছিল: match "/xyz/show/:project_id" => "xyz#show_project", :via => [:get] আমার দর্শন মার্কআপ: <%= link_to "Show Details", xyz_show_path(@project) %> উত্পাদন করে রাখা: http://localhost:3000/xyz/show.1 রুট ফাইলগুলিতে পরিবর্তন করা: match "/xyz/show/:project_id" => "xyz#show_project", :via => [:get], :as => "show" অনুমোদিত: <%= link_to "Show Details", show_path(@project) %> কাজ করা।
— আয়ং

0

এখানকার অন্যান্য লোকেরা এই পরিস্থিতিতে থাকতে পারে:

আপনার যদি একটি একক উত্স ঘোষণা করা থাকে তবে routes.rb:

resource :map

আপনাকে কোনও বস্তু পাস করার দরকার নেই map_path। কল করার চেষ্টা করার map_path(map)ফলে একই রকম আচরণের ফলাফল আসবে (যেমন একটি ইউআরএল map.12)

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.