【问题标题】:How to trigger another event when clicking a link in rails 3.1?单击rails 3.1中的链接时如何触发另一个事件?
【发布时间】:2011-12-01 16:02:31
【问题描述】:

这个问题可能在这里被多次提出。单击rails视图上的链接时,我想触发另一个事件。比如:

<%= link_to 'Referesh', event, :onclick => 'another_event' %>

我有 another_event 作为一个名为 url_handler 的 ruby​​ 方法,它有两个参数 index 和 url。我可以执行以下操作吗?

<%= link_to 'Customer', customers_path, :onclick => '/url_handler?index=1&url=user_menus_path' %>

如果没有,这个触发器如何实现?

【问题讨论】:

    标签: jquery ruby-on-rails ruby-on-rails-3.1


    【解决方案1】:

    您的意思可能是使用 link_to 并设置了 :remote =&gt; true 标志,因为 :onclick 选项期望 JavaScript 将内联到生成的 HTML 中。

    您还必须在 routes.rb 中定义要触发的方法的路由,否则 Rails 将不知道如何调用该操作。

    例子:

    <%= link_to('Refresh', another_event_path, :remote => true) %>
    

    【讨论】:

    • 收到错误:“/url_handler?index=1&url=user_menus_path”的未定义方法“stringify_keys”:字符串。代码是 true %>。我刚刚修改了帖子以强调另一个事件。谢谢。
    • 您每次点击只能触发一个操作,除非您有某种 JavaScript 助手可以为您完成其余的工作。如果您需要,我建议将其构建为 jQuery + UJS (Unobtrusive JavaScript) 类型的链接。始终阅读有关方法的文档。你使用它的方式是完全错误的。
    • JS 似乎是 Rails 中实现这一目标的唯一方法。有没有关于这个主题的在线文章?谢谢。
    • 您可能需要启动here,然后阅读文档。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-06
    • 1970-01-01
    • 2021-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多