gpt4 book ai didi

ruby-on-rails - 在 Rails 3 中,如何使用 button_to 更改 bool 值?

转载 作者:行者123 更新时间:2023-12-03 15:07:12 25 4
gpt4 key购买 nike

我正在尝试编写一个 button_to 语句来更新我的 activerecord 数据库中的 bool 值。这是我尝试过的:

<%= button_to "To Amazon", :controller => 'payments', :true => @payment.to_amazon, :method => :put %>

更大的图景我想做的是有一个按钮来更新支付对象并触发对私有(private)方法的调用,以便 gem remit 与亚马逊支付进行通信。所以:

1) 如何使用 button_to 更新 bool 值?

2) 更改 bool 值是访问 Controller 中私有(private)方法的好方法吗?

最佳答案

您可以做的是使用 AJAX 回调您的 Controller 以切换该 bool 值。在这种情况下,我可能只使用链接或复选框来代替,但最终没什么大不了的。如果您需要一些代码来了解如何执行此操作,请告诉我。

有一个similar question关于指定我回答的操作,我在那里使用了一个 link_to :

link_to "Profile", :controller => "profiles", :action => "show", :method => :get, :id => @profile

因此您可以指定操作,但这只适用于链接而不适用于按钮。但是您可以执行一些特殊操作来执行更新。

至于你的第二个问题,如果我理解正确的话,你想在 @payment 对象上设置一个 bool 值,然后在调用一个私有(private)方法之后?我假设您也将 bool 值存储在数据库中。因此,您的 Controller 操作可以执行如下操作:

@payment.call_amazon_payment_method

然后在 payment.rb 中(假设您的 bool 列由于缺少更好的假名而被称为“boolean_col”):

def call_amazon_payment_method
new_val = self.boolean_col? false : true
self.update_attributes(:boolean_col => new_val)
# if that alone will trigger your private method, you're done, or:
self.private_amazon_payment_method
end

希望我已经正确理解了您的问题,并帮助您找到了一个优雅的解决方案。

关于ruby-on-rails - 在 Rails 3 中,如何使用 button_to 更改 bool 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7124781/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com