我希望用戶點擊一個鏈接,它將修改一個ActiveRecord條目。該記錄被稱爲feed.disabled
,該鏈接將在true
和false
之間切換該記錄。我做了一個幫助方法來確定鏈接的文本:如何在Rails應用程序中創建按鈕以讓用戶修改ActiveRecord?
def disable_button(feed)
if feed.disabled?
return 'Enable Feed'
else
return 'Disable Feed'
end
end
所以我的問題真的是雙重的。該幫手是否能夠在視圖中顯示正確的文本,以及如何獲取該鏈接,以根據當前狀態將feed.disabled
記錄修改爲true
或false
?
feeds_controller.rb
:
def toggle_disabled_record
@feed = Project.find(params[:project_id]).feeds.find(params[:id])
@feed.toggle!(:disabled)
render :nothing => true
end
projects->show.html.erb
:
<%= link_to toggle_disable_button(feed), toggle_disabled_record_project_feed_path(feed) %>
routes.rb
:
resources :projects do
resources :feeds
end
resources :feeds do
resources :xml_fields
get toggle_disabled_record, :on => :member
end
我幾乎逐字記錄了你的文章,但我一直在收到一個路由未定義的方法錯誤。我從來沒有真正理解路由如何工作,但我安排我的記錄的方式是Project has_many Feeds。我粘貼了上面添加的方法。 – Paul
爲什麼不使用'toggle!'?我不知道你的路線是什麼,或者你嘗試使用什麼鏈接,所以這很難幫助:) –
對不起,我發佈更新的方法緩慢 - 現在檢查它們。 – Paul