我在视图中有这段代码
<form>
<%= form_tag(portefeuillemodele_path, :remote => true) do %>
<%= label_tag(:date, "The selected date is:") %>
<%= text_field_tag(:date) %>
<%= submit_tag("OK") %>
<% end %>
</form>
这在我的控制器中
def index
@portefeuillemodeles = Portefeuillemodele.all
@date = params[:date]
respond_to do |format|
format.html # index.html.erb
format.json { render json: @portefeuillemodeles }
end
end
当我按下提交按钮时,它没有做任何事情。 我安装了ajax gem,我需要保存提交的值,所以我可以在我的视图中使用它?
答案 0 :(得分:1)
查看您的代码
<form> // you don't need this tag form_tag will create those tags for you
<%= form_tag(portefeuillemodele_path, :remote => true) do %>
<%= label_tag(:date, "The selected date is:") %>
<%= text_field_tag(:date) %>
<%= submit_tag %>
<% end %>
</form>
其次,当你使用ajax时,你的控制器需要js格式
def index
@portefeuillemodeles = Portefeuillemodele.all
@date = params[:date] # this will give you access to your date but you need to check your params to be sure
respond_to do |format|
format.html # index.html.erb
format.js{} # ajax will call this format not html or json
format.json { render json: @portefeuillemodeles }
end
end
这将允许rails查找名为 index.js.erb 的文件,您可以通过js 操作DOM元素。有关详细信息,请参阅Working with Javascript in Rails