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


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.