仅当用户未登录 Rails 4 时,远程表单



我只希望未登录的用户使用remote:true的表单,但同时应正常重定向已登录的用户。所以我尝试了这样的东西,但它不起作用(甚至看起来都不对),但你明白了:

<%= 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| %>

您的解决方案不起作用,因为您对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| %>

最新更新