我试图从下拉得到一个选择填充表在同一个页面,使用AJAX,这样的变化似乎不需要刷新页面。 我得尽可能制定出了代号为远程调用,并添加自定义操作来控制,但我不知道如何去得到返回的信息到我有表。 目前,该表是刚刚经历的所有项目循环,但我希望它只是显示所选的一个项目的信息。
什么会我需要在JS写(RJS?)文件得到它处理返回的信息,我需要什么样的变化,使现有的表,以确保它显示了正确的信息?
下拉(与AJAX调用):
<%= collection_select :id, Project.all, :id, :name, :onchange => remote_function(:url=>{:action => 'populate_projects'}) %>
控制器的行动:
def populate_projects
@project = Project.find(params[:id])
end
而现有的表:
<table>
<tr>
<th>Name</th>
<th>Category</th>
<th>Budget</th>
<th>Deadline</th>
<th>Company ID</th>
<th></th>
<th></th>
<th></th>
</tr>
<% @projects.each do |project| %>
<tr>
<td><%= project.name %></td>
<td><%= project.category %></td>
<td><%= number_to_currency(project.budget, :unit => "£") %></td>
<td><%= project.deadline.strftime("%A, %d %B %Y") %></td>
<td><%= project.company_id %></td>
<td><%= link_to 'More', project %></td>
<td><%= link_to 'Edit', edit_project_path(project) %></td>
<td><%= link_to 'Delete', project, confirm: 'Are you sure?', method: :delete %></td>
</tr>
<% end %>
</table>