我正在尝试使用format.js提交创建操作。我的表单有远程:true,我的视图设置正确,我的控制器也正确。
唯一有效的方法是新的,编辑和销毁行动。
它会立即呈现format.html并重定向。同样,这只发生在创建动作中,其他动作在js.erb上运行良好。
暂时坚持了一段时间。
一些帮助会很棒
控制器创建操作:
def create
@step = Step.create(step_params)
course = @step.course
if @step.save
respond_to do |format|
format.html {redirect_to edit_school_course_path(course.school, course) }
format.js
end
else
render :action => :new
end
end
形成部分:
<%= simple_form_for([@step], remote: true, :authenticity_token => true) do |form| %>
<%= form.hidden_field :course_id %>
<%= form.input :title %>
<%= form.submit %>
<% end %>
create.js.erb
$('#new_step').remove();
$('#show_step').append('<%= j render :partial => "steps/step", object: @step %>');
<%= add_gritter("Successfully created a new lecture", :title => "Success!", :image => :success) %>
ps:经过一番阅读后还试过:format =&gt; :js在表单上,它仍然无法正常工作。