我刚刚开始使用Ruby on Rails,很抱歉n00bish Q ...
我想创建一个触发一些javascript的按钮。我发现this Q引导我编写以下代码:
<%= button_to_function "Change Password", "$(this).toggle();", :class =>"password_div" %>
(在其他地方,我有<div class="password_div" style="display: none;">…</div>
个标签。)
问题是当我运行此代码时出现以下错误:
undefined method `button_to_function' for #<<Class:0x00000006abc1c8>:0x0000000647ee00>
我发现这令人困惑。我的印象是这在Rails中是标准的(它列在here以及许多其他方法,据我所知, 可立即在RoR中使用。)
我是否需要在某处制作 JavaScript Helper?或者我错过了其他地方的东西?
答案 0 :(得分:2)
看起来好像是removed(源代码):
def button_to_function(name, function=nil, html_options={})
message = "button_to_function is deprecated and will be removed from Rails 4.1. We recommend using Unobtrusive JavaScript instead. " +
"See http://guides.rubyonrails.org/working_with_javascript_in_rails.html#unobtrusive-javascript"
ActiveSupport::Deprecation.warn message
onclick = "#{"#{html_options[:onclick]}; " if html_options[:onclick]}#{function};"
tag(:input, html_options.merge(:type => 'button', :value => name, :onclick => onclick))
end