我只是希望未签名的用户使用带有remote:true的表单,但同时signed_in用户应该正常重定向。 所以我尝试了类似这样的东西,但它不起作用(甚至看起来不对)但是你明白了:
<%= simple_form_for(@post, html: {class: "form-horizontal"}) if user_signed_in? do |f| %>
<%= simple_form_for(@post, html: {class: "form-horizontal"}, remote: true) if !user_signed_in? do |f| %>
答案 0 :(得分:2)
您的解决方案不起作用,因为您对simple_form_for
的第二次调用位于您刚刚传递给simple_form_for
的第一个调用的块中。您可以使用三元运算符将remote
选项设置为true或false,如下所示:
<%= simple_form_for(@post, html: {class: "form-horizontal"}, remote: ( user_signed_in? ? false : true ) ) do |f| %>