0

我在 ruby​​ on rails 中有一个应用程序,其视图在屏幕上显示了一些参数。

 <%= link_to l(:label_statistics),
            {:action => 'stats', :id => @project, :repository_id => @repository.identifier_param},
            :class => 'icon icon-stats' if @repository.supports_all_revisions? %>

我想捕获变量@repository.name并在我的控制器中的函数中使用它。

我该怎么做?

4

2 回答 2

0

在您的 stats 操作中,假设您有一个 Repository 模型并且包含名称的记录存在于您的数据库中。

@repository = Repository.find(params[:repository_id])
@repository.name

如果没有,您可以将其与其他所有内容一起传递,

<%= link_to l(:label_statistics),
    {:action => 'stats', 
    :id => @project,
    :repository_id => @repository.identifier_param,
    :repository_name => @repository.name},
    :class => 'icon icon-stats' if @repository.supports_all_revisions? %>

然后在控制器中,通过params[:repository_name]

于 2013-07-16T20:24:56.840 回答
0

只需通过参数传递它。li_to 的文档

link_to can also produce links with anchors or query strings:

link_to "Comment wall", profile_path(@profile, :anchor => "wall") # => <a href="/profiles/1#wall">Comment wall</a>

link_to "Ruby on Rails search", :controller => "searches", :query => "ruby on rails" # => <a href="/searches?query=ruby+on+rails">Ruby on Rails search</a>

link_to "Nonsense search", searches_path(:foo => "bar", :baz => "quux") # => <a href="/searches?foo=bar&amp;baz=quux">Nonsense search</a>
于 2013-07-16T20:25:14.267 回答