gpt4 book ai didi

jquery - 通过单击 Rails 中的提交标签来加载 rjs 文件?

转载 作者:行者123 更新时间:2023-12-01 05:03:44 24 4
gpt4 key购买 nike

我想通过单击提交标签来加载模式对话框。但是当我点击按钮时,它直接进入页面,而没有进入rjs文件,并且没有渲染部分。以下是我的代码。

<span style="text-align: right">
<% form_tag "/calendar/dia_cal_view" do %>
<%= collection_select("event", "trainer_id", @trainers , :id, :name, {:prompt => true}) %>
<%= submit_tag "search" %>
<%end%>
</span>

Controller 代码:

def dia_cal_view

@month = (params[:month] || (Time.zone || Time).now.month).to_i
@year = (params[:year] || (Time.zone || Time).now.year).to_i
@shown_month = Date.civil(@year, @month)
@trainers=Trainer.all
@first_day_of_week = 1
if session[:dia_Serach].nil?
if (defined? (params[:event][:trainer_id]))
session[:dia_Serach]=(params[:event][:trainer_id])
#@@id=(params[:event][:trainer_id])
@event_strips = Event.event_strips_for_month(@shown_month, @first_day_of_week, :conditions=>["trainer_id = ?",session[:dia_Serach]])
else
@event_strips = Event.event_strips_for_month(@shown_month, @first_day_of_week)
end
else
@event_strips = Event.event_strips_for_month(@shown_month, @first_day_of_week, :conditions=>["trainer_id = ?",session[:dia_Serach]])
end
end

dia_cal_view.js.rjs

page.replace_html 'search_result', :partial => 'cal_view'

page<< "$j ('#search_result_dialog').dialog({
title: 'calendar',
modal: true,
width: 500,
height: 500,
close: function(event, ui) { $j ('#search_result_dialog').dialog('destroy') }

});"

_cal_view.html.erb

<%= stylesheet_link_tag "event_calendar" %>
<%= event_calendar %>

问题是 rjs 文件不起作用。它没有转到 rjs 文件。我应该为此做什么?请帮助我..

最佳答案

首先,您的表单以 html 形式提交,而不是以 rjs 请求形式提交。您首先需要将其更改为rjs请求,更改此行

<% form_tag "/calendar/dia_cal_view" do %>

使用

remote_form_tag

或选项

remote = true

取决于您的 Rails 版本

然后应该可以工作了

关于jquery - 通过单击 Rails 中的提交标签来加载 rjs 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7708944/

24 4 0