我有一个简单的远程表单,像这样:
第一个月
在我的控制器中,我检查是否接受EULA的形式:
def create
if (params[:question][:eula] != 1)
puts "ERROR!"
respond_to do |format|
return format.json {render :json => {:error_message => "FOOOO", :success => false } }
end
end
@question = Question.new(question_params)
respond_to do |format|
if @question.save
format.html { redirect_to @question, notice: 'question was successfully created.' }
format.json { render :show, status: :created, location: @question }
else
format.html { render :new }
format.json { render json: @question.errors, status: :unprocessable_entity }
end
end
end
字符串
如何访问create.js.erb文件中的:error_message
或:success
?
2条答案
按热度按时间q3qa4bjr1#
您可以执行 AJAX 请求
添加ID到表单
:id => "question-form"
字符串
和JavaScript文件中的任何地方
型
vlf7wbxs2#
如何访问create.js.erb文件中的
:error_message
或:success
?Rails的方式(尽管它有某些缺点)是继续在表单中使用
remote: true
,然后在create.js.erb模板中使用示例变量,而不是渲染JSON。字符串
(我已经简化了控制器-您仍然可以响应特定的格式等等。
这些示例变量将在create.js.erb中可用:
型