1
我试图从下拉菜单中更改我的应用程序的语言,然后是提交按钮。 我介绍了一个名为在route.rb定义为“language_change”控制器:未定义资源的路径变量
resources :language_change, :only => [:create, :new]
在视图home.html.erb,我这样说:
<%= form_tag language_change_path, :method=>:post do %>
<div class="field">
<%= select_tag(params[:l],
options_for_select(
[[t('language.english'),'en'],
[t('language.french'), 'fr'],
[t('language.dutch'), 'nl']], params[:l]),
)
%>
</div>
<div class="actions"> <%= submit_tag "Change language!" %>
<% end %>
最后在控制器我把:
class LanguageChangeController < ApplicationController
def create
I18n.locale=params[:l]
end
end
当加载主页我收到以下错误信息:
undefined local variable or method `language_change_path'
有人可以告诉我什么是错? 我不明白的是,在视图中,我用另一个在应用程序中定义的控制器取代'language_change_path',例如。 'password_reset_path'它显示页面,甚至处理提交。
感谢您helage
谢谢布兰登!我现在的工作,但我不得不复数也是我的控制器的名称等。很高兴知道。现在我不得不进一步深入探讨ruby的plurialization的奥秘;-) – microcosme 2012-02-12 15:23:16
很高兴提供帮助。请确保接受答案,如果它是正确的。 – Brandan 2012-02-13 04:23:09