【问题标题】:Passing a link into view将链接传递给视图
【发布时间】:2011-01-19 15:49:53
【问题描述】:

在 Ruby on Rails 3 中,我将如何创建一个通过参数决定视图中的链接链接到哪个链接的视图?

例如,对于我视图中的页面,我传递了一个类型参数,该参数显示我的数据库中的所有项目,并根据类型链接到 new showedit 操作。

我只对传递链接的路径感兴趣。

我想写类似:
<% link_to(enter_here_path) do %>
<div class="blah"><%=@project%></div>
<%end%>

【问题讨论】:

    标签: ruby-on-rails-3 parameters link-to


    【解决方案1】:

    您可以使用返回正确位置甚至创建链接的条件,最好将其包装在辅助方法中。

    类似的东西:

    def your_link_method(type="delete")
        case type
            when "delete"
                link_to …
            when "foobar"
                link_to …
            else
                link_to …
            end
        end
    end
    

    作为旁注:这种结构有 IMO 的味道,我可能会先重新考虑我的设计,然后再实施这样的解决方案。即使您可能会找到一种更简单、更优雅的编写方式。

    【讨论】:

    • 我已经更新了答案。 sn-p 将存在于帮助程序(可能是 application_helper.rb)文件中。
    • 我不想传递整个 link_to 命令,因为我想决定视图中的实际内部文本,我只是对传递实际链接感兴趣,例如@project(项目的展示)...
    • 好的。你能举一个你想要的代码的例子吗?如果你愿意,在伪代码中?或者也许你已经拥有了什么?通过不简单地在您的视图中使用条件,您要这样做的目的是什么?简洁吗?
    • 我不想要代码中的条件,因为我只想更改链接本身而不是其中的
    • 难道你不能有一个条件来确定想要的路径,将它分配给一个临时变量,然后在你的 link_to 中使用这个变量。这又可以被包装到一个只返回路径的助手中。
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签