![](/img/trans.png)
[英]How do I pass params to Rails controller method then return value using JQuery/AJAX?
[英]Rails: How do I pass custom params to a controller method?
我是Rails的新手。
我想跟蹤帖子的閱讀頻率,以便按照受歡迎程度對其進行排名。 因此,我將在posts
表中有一個數據庫列read_count
,每次調用#show時它會遞增1。
但是,如果管理員已登錄並希望通過#show方法預覽帖子,我不希望read_count
增加。
我認為在params散列中傳遞一個自定義參數如preview=true
會是最好的。 然后,如果preview
評估為false或nil,#show將僅增加read_count
。 但是,我該怎么做? 在params哈希中添加preview=true
的正確方法是什么?
或者在控制器上實現#preview方法會更好嗎?
做一些像這樣的事情:
@post.read_count.increment! unless user_signed_in? && current_user.admin?
為什么不通過控制器動作本身而不是發送參數? 如果它被命中並且不是管理員,那么增加計數,似乎是一個更簡單的解決方案。
下面的答案之一可能是一個更好的方法,但回答你如何通過額外的參數的問題。 您可以將它們添加到網址助手的末尾,因此如果現有鏈接如下所示:
link_to'顯示',post_path(id)
只需將其更改為:
link_to'顯示',post_path(id)+'?preview = true'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.