मार्ग मैं दो वर्गों है:रेल 3 has_one
class User < ActiveRecord::Base
:has_one :foo
end
class Foo < ActiveRecord::Base
:belongs_to :user
end
फू वैकल्पिक है।
resources :users do
resources :foo
end
निम्नलिखित में से कौन मार्गों में परिणाम:
GET /users/:user_id/foo(.:format) {:controller=>"foos", :action=>"index"}
user_foos POST /users/:user_id/foo(.:format) {:controller=>"foos", :action=>"create"}
new_user_foo GET /users/:user_id/foo/new(.:format) {:controller=>"foos", :action=>"new"}
GET /users/:user_id/foo/:id(.:format) {:controller=>"foos", :action=>"show"}
PUT /users/:user_id/foo/:id(.:format) {:controller=>"foos", :action=>"update"}
user_foo DELETE /users/:user_id/foo/:id(.:format) {:controller=>"foos", :action=>"destroy"}
edit_user_foo GET /users/:user_id/foo/:id/edit(.:format) {:controller=>"foos", :action=>"edit"}
सवाल:
- यह सूचकांक की तरह लगता है और दिखाएँ कार्यों निरर्थक हैं
मैं निम्नलिखित मार्ग बनाया। उनमें से एक को हटा दिया जाना चाहिए? यदि हां, तो कौन सा?
- : दिखाएँ कार्रवाई में आईडी पैरामीटर अनावश्यक लगता है, क्योंकि user_id foos तालिका में एक विदेशी कुंजी है और प्रति उपयोगकर्ता केवल एक foo है। क्या मैं गलत हूँ?
- यदि कोई फू नहीं है तो मैं नई कार्रवाई के मार्ग के लिए एक शानदार तरीका प्राप्त करना चाहता हूं। एक विकल्प @ user.foo.nil का परीक्षण करना होगा? FooController के शो या इंडेक्स एक्शन में, फिर नई कार्रवाई पर रीडायरेक्ट करें। क्या कोई बेहतर तरीका है?
आपके समय के लिए धन्यवाद।
विश्वास नहीं कर सकता कि मुझे याद आया। – craig
जानकारी के लिए धन्यवाद –