我正在尝试将一些控制器代码重组为.js.erb jquery文件。 (警告,这很麻烦!)
我的创建操作中有这段代码:
def create
# do stuff
if @adverse_event.save
format.js{
template_id =@study.template_id
@template_adverse_event_columns = AdverseEventColumn.find(:all, :conditions => ["template_id is ? OR study_id is ?", template_id, @study.id])
@adverse_events = AdverseEvent.find(:all, :conditions=>['study_id=?',@study.id])
@adverse_event_result = AdverseEventResult.new
render :update do |page|
# replace some partials
end
}
format.html { redirect_to(@adverse_event, :notice => 'Adverse event was successfully created.') }
format.xml { render :xml => @adverse_event, :status => :created, :location => @adverse_event }
else
problem_html = "Error message"
format.js{
render :update do |page|
page.replace_html 'adverse_event_validation_message', problem_html
end
}
format.html { render :action => "new" }
format.xml { render :xml => @adverse_event.errors, :status => :unprocessable_entity }
end
end
我正在尝试将其转换为jquery,因此我可以在create.js.erb文件中执行所有div / html替换等操作。如何使用条件基于它是否保存来执行此操作?如果保存成功,我需要两个create.js.erb文件,一个用于format.js,如果不成功,我需要一个吗?我怎么称呼他们?我是在正确的轨道上吗?
非常感谢并且对不起,如果这没有多大意义 - 请随时让我澄清,我会相应地进行编辑。