ruby-on-rails - 在按钮单击上使用 Controller 操作 - Rails

标签 ruby-on-rails ruby

对于使用 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/

相关文章:

ruby - 如何修复(RubyInstaller::Runtime::DllDirectory::WinApiError) in ruby on windows?

mysql - 如何计算rails 3中has_many关联之间平均值的较大值

ruby-on-rails - 如何在单表继承中运行子类的验证?

c++ - 如何将值从 C++ 可执行文件传递到 Rails 应用程序?

ruby-on-rails - ruby 1.9.3 UndefinedConversionError

ruby-on-rails - Rails 搜索形式,两种模型

ruby-on-rails - 使用加载命令在 Rails 控制台中调用脚本时传递参数

ruby-on-rails - 在 rails 回形针中从 pdf 生成缩略图

ruby-on-rails - 如何在 Rails 中检查给定时间是否在下午 3 点之后?

ruby-on-rails - 在规范中使用 describe/it 优于 feature/scenario 的优势? (除了语法糖)