【问题标题】:Is there a way to call a Rails 3 function from a link_to tag, using :remote => true?有没有办法使用 :remote => true 从 link_to 标签调用 Rails 3 函数?
【发布时间】:2010-11-15 22:04:58
【问题描述】:

在我的 Rails 3 应用程序中,我有一个问题列表。每个问题都有一个“问题编号”,用于指定其在表格/列表中的顺序。我正在尝试实现一个“上移”链接,该链接将递减该问题的编号以将其在列表中上移(1 位于顶部),并增加先前具有该编号的问题的编号。

我不知道如何从问题表视图中调用 rails 函数,无论是在控制器还是模型中。理想情况下,我想做这样的事情:

<%= link_to 'Move Up', Question.moveup(question.id), 
          :remote => true, :update => "questions_table" %>

但我研究过的“onclick”、“remote_function”等的任何组合似乎都不可能。

我也试过通过 URL 调用控制器中的函数,像这样:

<%= link_to "move up", :url => {:controller => "questions", :action => "moveup"}, :remote => true %>

但它通过附加我不想要的 edit?url[controller]=questions&url[action]=moveup 继续搜索 url。有没有一种直接的方法可以从链接远程调用 rails 3 模型或控制器中的函数?

非常感谢!

【问题讨论】:

  • 你能链接你的路由文件吗?

标签: javascript ruby-on-rails ajax ruby-on-rails-3 rjs


【解决方案1】:

尝试不使用 :url 哈希

<%= link_to "move up", {:controller => "questions", :action => "moveup"}, :remote => true %>

【讨论】:

  • 谢谢,最终的工作只是说 true %>。出于某种原因,列出动作和控制器会导致路由问题,并且仅链接到动作名称即可。可能是我这边的路由问题。我仍然不完全确定如何做我正在寻找的东西,因为它最终去了 url .../moveup。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-11
  • 1970-01-01
  • 2011-11-02
相关资源
最近更新 更多