我正在从rails2迁移到rails3,我遇到了以下错误:
未知行动
的操作'show'
无法找到SessionLocalesController
那是因为我有一个方法的link_to:post inside。
我以前的研究表明我应使用按钮而不是或添加<%= javascript_include_tag:默认%>排到我的代码,因为rails3是不引人注目的javascrtipt:
1.Button不是一个解决方案,因为同样的问题在其他地方发生,所以这样做也会解决它。
2.<%= javascript_include_tag:默认值%> 似乎可以正常工作,但它却反而出现了这个错误:
路由错误 没有路由匹配“/ dropup”
我现在被困住了。在此先感谢您的时间。
如上所述,这是代码:
<% for locale in (I18n.available_locales) -%>
<%= link_to image_tag("flags/" + locale.to_s + ".png", :title=>locale.to_s) + " " + locale.to_s, session_locale_path(:new_locale => locale.to_s), :method => :post %> <%=link_to t('language'), 'dropup', {:id=>"language_select", :class=>"language_select",:title => t('translate.change')} %>
<ul id="language_menu" style="display:none">
<% for locale in (I18n.available_locales) -%>
<li><%= link_to image_tag("flags/" + locale.to_s + ".png", :title=>locale.to_s) + " " + locale.to_s, session_locale_path(:new_locale => locale.to_s), :method => :post %> </li>
答案 0 :(得分:1)
我已经解决了这个问题。之前在stackoverflow中已经多次解决了同样的问题,但只有在找到解决方案之后我才注意到它。好吧,这是&gt;
http://www.simonecarletti.com/blog/2010/06/unobtrusive-javascript-in-rails-3/
获取jQuery并将以下内容添加到布局中:
&lt;%= javascript_include_tag:默认值%&gt; &lt;%= csrf_meta_tag%&gt;
我提供的链接的更多信息。