Ruby on rails 从前端订阅的Rails
我在表单上有一个复选框,可以告诉我用户是否想要订阅。我将把该变量作为一个布尔值,并运行一个方法,该方法将向用户订阅邮件列表,如果反之亦然,则取消订阅 我的问题是,做这项高层次工作的最佳方法是什么Ruby on rails 从前端订阅的Rails,ruby-on-rails,ruby,subscribe,Ruby On Rails,Ruby,Subscribe,我在表单上有一个复选框,可以告诉我用户是否想要订阅。我将把该变量作为一个布尔值,并运行一个方法,该方法将向用户订阅邮件列表,如果反之亦然,则取消订阅 我的问题是,做这项高层次工作的最佳方法是什么 使用订阅/取消订阅作为用户模型的方法,我无法找到正确的方法来实现这一点。我的表单应该提交到哪里,以便检查布尔值并运行正确的方法?在表单提交时,您将在控制器中以参数形式提交值。例如,如果是复选框,则参数[:email_subscription]可以是1或0 然后在控制器中写入逻辑,例如 if params
使用订阅/取消订阅作为用户模型的方法,我无法找到正确的方法来实现这一点。我的表单应该提交到哪里,以便检查布尔值并运行正确的方法?在表单提交时,您将在控制器中以参数形式提交值。例如,如果是复选框,则参数[:email_subscription]可以是1或0 然后在控制器中写入逻辑,例如
if params[:email_subscription] == 1
user.subscribe(true)
elsif params[:email_subscription] == 0
user.subscribe(false)
end
然后,在您的用户模型中,您需要基于您传递的真/假变量的真实逻辑,例如:
def subscribe(var)
[update user subscription based on var being true or false]
end
您可以将ajax请求发送给用户\控制器,或者向其提交表单
var url = '/users/:id/subscribe'
$.ajax({
url: url,
method: 'POST',
data: { channel_ids: ["1", "2"] },
success: function() {
alert('Sucess Subscribe')
}
});
使操作在用户\控制器中订阅,或按以下方式使用更新操作
def subscribe
@user = User.find(params[:id])
@user.channels = paramas[:user][:channel_ids]
@user.save
end
您可以使用koudoku gem进行订阅,阅读更多关于您的表单应将数据发布到您的用户控制器,在那里您将检查参数并相应地订阅它们或执行任何需要的操作。