簡體   English   中英

Rails 3將模型ID附加到每個鏈接

[英]Rails 3 Attaching Model ID to every link

我的應用程序圍繞一個事件,特別是事件的ID。 每當用戶導航到站點的不同部分(控制器)時,我都需要能夠攜帶事件的ID。

我猜測在用戶打開多個瀏覽器窗口時,在URL中包含事件的ID是首選方法。

我不想手動將事件的ID附加到每個鏈接。 我可以創建一個幫助方法來為我做這個嗎?

謝謝

您需要在路徑文件中創建一個嵌套資源,這會在路徑的開頭添加類似“/ event /#eventid”的內容。 然后,您可以使用params[:event_id]從控制器訪問它

例如:

的routes.rb

resources :events do
  # Other controllers routes go here
end

controller_whatever.rb

def index
  @whatever = Event.find(params[:event_id]).whatever.all
end

...

顯然最好使用之前的過濾器,但你明白了。

您應該將其存儲在會話數據中:

session[:event_id] = event_id

然后,您將能夠在整個用戶的會話中訪問它。

更新

您可能想要查看嵌套資源

我建議使用thomasfedb的解決方案。 如果由於任何原因無法通過覆蓋此問題中的url_for方法來實現

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM