[英]How can I call an action, pass a value to the action from js and re-render the js on a page in rails 3?
我有一个页面poweroutput.html.erb,其控制器操作如下:
def poweroutput
# other stuff here...
if (request.xhr?)
@date = :date
respond_to do |format|
format.html
end
else
@date = Time.now.getlocal.strftime("%d.%m.%Y")
end
end
else
子句在加载页面时执行良好。 我期望if
子句在我的poweroutput.html.erb中的文本字段元素更改时执行,如下所示:
<%= text_field_tag(
'dt', nil,
{ :id => 'date-field',
:class => 'dateformat-d-dt-m-dt-Y',
:value => Time.now.getlocal.strftime("%d.%m.%Y"),
:onchange => remote_function(
:url => {:controller => 'pages', :action => 'poweroutput'}, :with => "'date=' + $('date-field').value"),
})
%>
因此,我想在文本字段发生更改时发生的事情是:(1)调用控制器动作,电源输出,(2)将此文本字段的内容分配给控制器动作中的@date实例变量,并且( 3)重新渲染javascript(位于poweroutput.html.erb的脚本标签内)(甚至正确的单词也被渲染?)。 我什至不确定自己在这里的路是否正确。 请告诉我是否有更好的方法可以做到这一点。 您在上面看到的非功能性代码只是两天Google搜索的结果。 任何帮助将不胜感激。
正如我在remote_function
注意到的那样,您没有指定要用答案替换的元素。
更多信息在这里http://apidock.com/rails/ActionView/Helpers/PrototypeHelper/remote_function
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.