【问题标题】:How to link to controller method如何链接到控制器方法
【发布时间】:2014-06-18 11:13:44
【问题描述】:

我正在关注this answer 如何克隆记录。

我不知道如何表达链接和路由它。

它在我的@miniature 显示视图中,所以我认为它应该类似于

<%= link_to 'clone', :controller => :miniatures_controller, :action => :clone %>

路线

  match 'clone', to: 'miniatures#clone', via: 'get'

但这显然是错误的。我正在使用@miniature 代替上述答案的@prescription。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-4


    【解决方案1】:

    如果你只使用clone_path:

    <%= link_to 'clone', clone_path %>
    

    因为rake routes 只显示clone 路线。它适用于相同的路线。

    如果你对路由不满意,你应该传递参数(比如miniature_id),添加成员到你的资源(可能是嵌套的),比如:

    resources :miniatures do
      member do
        get 'clone'
      end
    end
    

    这将是clone_miniature_path,您应该传递@miniature:

    <%= link_to 'clone', clone_miniature_path(@miniature) %>
    

    【讨论】:

    • 我认为这行得通。我的新表单现在使它崩溃,但是您提供的第二个代码有效。克隆微型路径。伟大的。非常感谢。
    猜你喜欢
    • 2016-10-18
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-07
    • 1970-01-01
    相关资源
    最近更新 更多