因此,我有一個'項目'模型,其中相應的數據庫表有很多屬性。劃分Rails編輯視圖用於UI
理想的情況下,當我打projects/1/edit
,我想用戶:
- 見,並能編輯只有項目的一部分屬性
- 看到一個導航菜單,可她的導航到另一個視圖允許查看和編輯剩下的屬性。
所有這些而不是在一個「編輯」視圖中顯示所有屬性。
我傾向於一個JS解決方案,當單擊菜單時隱藏和顯示特定屬性。不過,我最好要對網址反映部分用戶位於例如:
而不是像projects/1/edit
一個網址,我想是這樣的: projects/1/edit/name_of_section_1
和projects/1/edit/name_of_section_2
在我不知道任何情況下,在分割這樣的觀點時,最佳做法是什麼?
UPDATE:
配置/ routes.rb中:
我已經成功地使用了他的第二個方法修改他的建議代碼如下只有少數精度/修訂從下面丹的解決方案以供將來參考 修訂控制器名添加這兩種路線 '項目'
resources :projects do
member do
get "settings/:panel" => "projects#edit", as: :settings
patch "settings/:panel/update" => "projects#update", as: :update_settings
end
end
個
控制器/ projects_controller.rb 有在編輯操作所提出的一些代碼錯誤,所以我稍微改變了它,使其工作
def edit
panel = ['general', 'invitations', 'welcome_message', 'danger'].detect{|p| p == params[:panel] }
render template: "projects/#{panel}.html.erb" if panel
end
丹,非常感謝您的回覆。請讓我試試看,並回到你身邊。我認爲我需要試着去解決這個問題。我會盡快告訴你它怎麼走 – Andrew
丹,我已經嘗試了你的第二種方法成功。非常感謝。我仍然得到Rails的縈繞,有時會與如何設置路線混淆,所以你爲我節省了時間! 我剛剛更新了我的問題,以反映我必須對代碼進行的一些修訂才能使其工作。如果有什麼東西不適合你。讓我知道。乾杯。 – Andrew
甜如。修訂聽起來正確。這是我寫作時的晚餐時間,而我的妻子正在給我那種說「快點」的表情。隨意接受它作爲答案,我會成爲一個快樂的人:) – Dan