Rails 5 form_with提交完整的http请求

时间:2019-06-05 22:40:48

标签: ruby-on-rails turbolinks

我目前正在研究Rails 5应用程序的注册部分。这是表格的相关部分:

<%= form_with model: @user, local: true do |f| %>

表单正确提交并执行正确的控制器操作。我的问题是表单提交导致完整的http请求。从表单标签中删除local: true可以解决此问题,Turbolinks可以正确地提交AJAX请求。

但是,当我从local: true对象不再显示的形式中删除flash[:errors]时。

这是我的控制器:

def create
    @user = User.new(user_params)
    if @user.save
      login(@user)
      redirect_to dashboard_index_url
    else
      flash.now[:errors] = @user.errors.full_messages
      render :new
      # redirect_to new_users_url
    end
  end

在控制器中使用redirect_to而不是render解决了http请求问题,并通过turbolinks ajax提交了表单,但后来我无权访问@user实例变量。 / p>

任何想法或评论都值得赞赏!

0 个答案:

没有答案