2011-08-02 32 views
1

我的问题很简单,但我找不到解决方案。link_to上的id参数

我使用:

  • 的Rails 3.0.9
  • 红宝石1.9.2p180(2011-02-18修订30909)x86_64的Linux的]

它的问题:

在旧的轨道版本时使用的link_to函数创建一个链接,像这样:

link_to owner.name, 
    { 
     :controller => 'owner', 
     :action => 'view', 
     :id => owner 
    }, 
    :title => owner.name 

返回:

<a href="/owner/view/10001" title="Bla, bla, bla, bla">I'm using rails</a> 

但现在(在轨道3)它的返回:

<a href="/owner/view?id=10001" title="Bla, bla, bla, bla">I'm using rails</a> 

在此先感谢。

P.S:我是一个新手英语口语。

+0

你有没有配置此所有者控制器路线? –

+0

不... ???控制器的路线?没有坚定吗? –

回答

1

你可以指定你的根routes.rb:

match '/owner/view/:id' => 'owner#view', :as => :owner_view 

,然后用它是这样的:

link_to owner.name, owner_view_path(owner) 
1

试试这个

link_to owner.name, owner, :title => owner.name 

如果你的动作是detail,则:

link_to owner.name, [:detail, owner], :title => owner.name 

,并确保您的detail操作包括在你的路由

+0

如果动作url参数不同?例如:':action =>'detail'' –

+0

@Javier Valencia,已更新 – fl00r