【发布时间】:2014-05-18 15:13:36
【问题描述】:
在 Rails 项目中,我有 2 个控制器,我使用 link_to 和 remote => true 创建一个新的 assignmenttable。我有以下代码:
assignmettables_controller.rb
class AssignmenttablesController < ApplicationController
before_action :set_assignmenttable, only: [:show, :edit, :update, :destroy]
def new
@assignmenttable = Assignmenttable.new
end
def create
@assignmenttable = Assignmenttable.new
@assignmenttable.current_user_id = params[:current_user_id]
@assignmenttable.task_id = params[:task_id]
respond_to do |format|
if @assignmenttable.save
format.html { redirect_to new_reporter_path, notice: 'Assignmenttable was successfully created.' }
format.json { render action: 'show', status: :created, location: @assignmenttable }
else
format.html { render action: 'new' }
format.json { render json: @assignmenttable.errors, status: :unprocessable_entity }
end
end
end
end
views/assignmettables/_form.html.erb
<%= link_to "submit", assignmenttables_path(:current_user_id => user.id, :task_id => params[:task_id]), :remote => true, :method => "post" %>
现在,当我单击submit 时,这两个参数传递给控制器中的create 操作,并在数据库中创建新的assignmenttable,我希望在保存assignmenttable 时,页面是redirect_to 另一个控制器(new_reporter_path),但页面停留在assignmettable/new 中并且不发生任何操作。我该怎么做?(在数据库中保存assignmenttable 后将页面重定向到new_reporter_path,然后显示一条消息)。
【问题讨论】:
标签: ruby-on-rails