对于使用 Ruby on Rails 和温和编程确实很陌生,所以如果这看起来非常基础,请提前道歉。
我正在开发一个非常简单的基于 wiki 的网站,用户可以在其中升级和降级他们的帐户。
在我的 downgrade.html.erb
中,我有以下代码:
<p>Are you sure you want to downgrade back to standard?<p>
<%= link_to "Yes", :controller => :charges, :action => :downgrade1, class: 'btn btn-danger' %>
<%= link_to "No", root_url, class: 'btn btn-success' %>
在我的 charges_controller.rb
中,我有我的 downgrade1 方法:
def downgrade1
if current_user.premium?
current_user.update_attribute(:role, 'standard')
flash[:success] = "You have been downgraded to standard."
redirect_to root_url
else
false
end
end
最终,当用户单击"is"按钮时,我希望运行 downgrade1
方法,并将用户的帐户降级回标准。
但是,网站会加载带有我的页眉和页脚的“显示网页”,但用户仍然是高级用户。
有什么办法可以解决这个问题吗?
最佳答案
感谢您尝试解决我的问题,您的回答最终让我找到了解决方案。
最后,我认为使用了这段代码:
<%= button_to "Yes", { :controller => "charges", :action => "downgrade1"}, class: 'btn btn-danger' %>
并将其添加到我的routes.rb
post "charges/downgrade1" => "charges#downgrade1"
降级现在按计划进行。
再次感谢您的帮助。
关于ruby-on-rails - 在按钮单击上使用 Controller 操作 - Rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33698754/