带局部变量的Ajax和Ruby on Rails?

带局部变量的Ajax和Ruby on Rails?,ajax,ruby-on-rails-3,Ajax,Ruby On Rails 3,我真的不知道如何在RubyonRails上使用Ajax。我一定错过了一些简单的东西 我想做的是让用户选择一个日期,然后显示一个文档表,但只显示选定的日期(日期是文档的一个属性) 我的想法是创建一个不在数据库中的局部变量,将所选日期存储在其中,然后在我的视图中创建一个循环,例如@document.where(:date=date)。每个 在app/controllers/documents\u controller.rb中,我有: class DocumentsController < Ap

我真的不知道如何在RubyonRails上使用Ajax。我一定错过了一些简单的东西

我想做的是让用户选择一个日期,然后显示一个文档表,但只显示选定的日期(日期是文档的一个属性)

我的想法是创建一个不在数据库中的局部变量,将所选日期存储在其中,然后在我的视图中创建一个循环,例如@document.where(:date=date)。每个

在app/controllers/documents\u controller.rb中,我有:

class DocumentsController < ApplicationController

 def information
    @documents = Document.all
    @date = params[:date]

    respond_to do |format|
      format.html # index.html.erb
      format.js{}
      format.json { render json: @documents}
    end
  end

end
类文档控制器
在app/views/documents/_information.js.erb中,我有:

<%= form_tag(document, :remote => true) do %>
  <%= label_tag(:date, "The selected date is:") %>
  <%= text_field_tag(:date) %>

  <%= submit_tag %>

<% end %>
true)do%>
最后,我有一个字段,用户在其中输入日期,但submit按钮不起任何作用。
我错过了什么?

如前所述,您需要更改应用程序的流程。让我们逐一完成步骤

a。创建要在其中选择日期字段的输入字段。你已经有你的表格了

<%= form_tag(you_path_for_information_method, :remote => true) do %>
  <%= label_tag(:date, "The selected date is:") %>
  <%= text_field_tag(:date) %>
  <%= label_tag(:portfolio, "Add portfolio") %>
  <%= text_field_tag(:portfolio) %>
  <%= submit_tag %>

<% end %>
在您的information.js.erb中,您可以有:

$("#some_id_of_parent").html("<%=j render partial: "your_partial", locals: {portfolio: @portfolio} %>")
$(“#父项的某些id”).html(“”)

在文本_字段上使用jQuery添加一个onchange事件,该字段发送带有所选日期的ajax请求。在接收ajax的方法中,收集与日期相关的所有文档。在js.erb文件中,将当前页面上的html元素替换为迭代文档的分部。Ajax并不难。您介意展示一下我应该如何实现onchange事件和js.erb文件吗?@Ananas字段,您选择日期的地方是在表单中?您的部分应该是_information.html.erb而不是js.erb是的,我的部分是_information.html.erb,我选择数据的字段在这个非常部分的字段中。@Ananas您面临的问题是什么?在前面的问题中,我还解释了使用ajax的细节
$("#some_id_of_parent").html("<%=j render partial: "your_partial", locals: {portfolio: @portfolio} %>")