我希望用户点击一个链接,它将修改一个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