這可能是一件容易完成的事情,但我很難清楚地說清楚,導致我得到各種各樣的半精靈,但並不完全符合我的要求SO搜索時張貼。redirect_to對象記錄帶有ID屬性旁邊的字段
我有一個資源,我們將使用User作爲一個簡單的討論用例。我希望搜索引擎優化友好的URL,所以而不是〜/ users /:id,我們有〜/ users /:名稱,其中我的用戶控制器上的顯示操作正在執行User.find_by_name(:name)。很棒。
在應用程序的各個部分,我想將最終用戶重定向回我的資源。該文檔似乎表明我應該做的
redirect_to @user, :notice => "your page is now DIAMONDS!"'
這裏的問題是,這個自動出現使用:值的資源,這是不是我後ID。我想知道是否有一種方法可以在我的路由文件中定義一個路由,它知道我想要使用name屬性 - 然後重定向到生成的route_url助手。但我不知道該怎麼做。
在此期間,我訴諸這樣的:
flash[:notice] = "Your account is now DIAMONDS. *fist bump*"
redirect_to :action => :show , :id => @user.name
這是不理想的我,因爲它是重複的代碼好一點(我有很多UI元素將被鏈接回我的資源),因爲我似乎無法弄清楚如何將flash作爲redirect_to方法調用的一部分---每一個在redirect_to中包含閃光炸彈的捲曲支撐組合。
我不認爲這是我的問題具體的germaine,但我在Rails 3上這樣做,以防它對我提供的選項有一些含義。
對不起noobishness :)
url設計有點超出我的管轄範圍,但如果我要去這個設計或堅持我的,我仍然沒有想辦法生成所需模式的鏈接,因爲生成的路由助手(例如my_resource_path | url)都假定ID字段 - 與執行諸如redirect_to @resource – bakasan 2010-08-21 23:26:52
之類的操作相同,請參閱http://api.rubyonrails.org/classes/ActiveRecord/Base.html#M001840以獲取to_param的api解釋。這是魔法。 :) – DGM 2010-08-22 00:50:21
奇怪的是,它現在不適合我。 :( – DGM 2010-08-22 00:56:58