仅当用户未在Rails 4中签名时才能使用远程表单

时间:2015-02-15 20:53:04

标签: ruby-on-rails ruby-on-rails-4 simple-form

我只是希望未签名的用户使用带有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| %>

1 个答案:

答案 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| %>