在rails 2中使用link_to时,为什么要在路由文件中添加连接
||
我试图完成以下任务:
<%= link_to \“注销\”,{:控制器
=> \'users \',:action => \'logout \'},:class => \'menulink2 \'%>
但这没有用,它总是将我重定向到显示视图。我必须在route.rb中添加以下内容:
map.connect \'users / logout \',
:controller => \'用户\',:action =>
\'登出\'
为什么Rails无法识别我正在通过的动作(\'logout \')?
没有找到相关结果
已邀请:
1 个回复
缮淳彼誊
文件。在较旧版本的rails中,许多
带有默认值:
这样就可以指定大多数:controller,:action哈希,然后将其路由到
。 在更现代的版本中,基于资源的路由非常受青睐,并且不遵循rails的REST约定的控制器(即仅具有“ 5”个方法)通常必须以某种方式明确指定其路由。 (使用
或
) 我正在猜测,但是他们这样做的原因可能是控制器的动作实际上只是其公共方法。 在控制器中使用非URL端点进行测试的公共方法通常非常好。 例如,您可以将ѭ8作为公共方法进行测试,而不必在测试代码中使用use9。 因此,它们将资源操作列入白名单,并默认使其他操作不可访问。让我看一下rails changelog,看看我是否正确。