我有一个静态页面和静态控制器。在页面上午使用Jquery UI Accordion四个类别。每个类别都有独立的控制器,模型和视图。我试图将所有类别渲染成手风琴,并像分开一样工作。我遇到了问题,所以,我尝试在静态页面中创建一个表单并执行以下操作。但是在第一个选项卡中打开了所有表单。我想按标签打开并单独保存表单。任何想法都会更受赞赏。谢谢
<div class="funding_form">
<%= form_for(@funding_source, :remote => true) do |f| %>
<fieldset>
<legend>Funding Source</legend>
<div class="control-group">
<%= f.label :Source_name, 'Funding Source Name' %>
<%= f.text_field :Source_name %>
</div>
<div class="action">
<%= f.submit 'Save Source name', :class => 'funding_save', remote: true %> | <%= link_to 'Cancel', "#", {:remote => true, :class => 'funding_cancel_button' } %>
</div>
</fieldset>
<% end %>
</div>
<div class="packages_form">
<%= form_for(@package, :remote => true) do |f| %>
<fieldset>
<legend>Packages</legend>
<div class="control-group">
<%= f.label :Package_name, 'Package Name' %>
<%= f.text_field :Package_name %>
</div>
<div class="action">
<%= f.submit 'Save Packages', :class => 'package_save', remote: true %> | <%= link_to 'Cancel', "#", {:remote => true, :class => 'package_cancel_button' } %>
</div>
</fieldset>
<% end %>
</div>
答案 0 :(得分:2)
为什么不在选项卡的单击操作上放置ajax请求,以在控制器中调用操作。即在@package控制器中有一个方法,在调用时,将呈现部分包形式。然后,您可以使用ajax请求调用它:)
例如,在您的控制器中,您可能希望渲染部分&#34;形式&#34;你可以有这样的控制器方法:
def return_data
@package = Package.find(params[:id])
render partial "form"
end
你可以使用ajax请求调用它,例如:
$.ajax({
url: '/your_path/return_data',
dataType: 'html',
success: function(data){
console.log(data)
},
error: function(data){
console.log(data)
});
然后您可以显示它,也许将partial分配给div并在每次发出ajax请求时覆盖它,以便只显示:)