2011-07-04 49 views
0

我已经看到了一些类似的问题,但我不认为这是重复的,因为我已经得到的每个答案都针对一个基本问题。link_to一个页面,但从另一个控制器在Rails

我保持简单。我想知道如何点击链接,让用户访问一个页面,但从另一个页面执行def。这是在一个网络爬行器的轨道应用程序,它的东西,我认为会很简单,但对我来说变得讨厌。

目前我有:

<td><%= link_to 'Crawl!', crawl_path :controller => :crawl, :action => :crawl %> 

这需要用户对履带的索引页它运行完之后。 我想要做的是将它们重定向到不同的页面。即jobs_path显示抓取工具网站和状态列表(这工作正常,我只是想包括它的相关性)。如果我这样尝试:

<td><%= link_to 'Crawl!', jobs_path, :controller => :crawl, :action => :crawl %> 

用户被引导到作业页面,但履带式脚本从未运行,因此作业列表从不更新。为了记录,每项工作只是一个网址和它所处的深度。

这仅仅是一个语法错误,还是我离标记不远?

任何帮助表示赞赏。

+0

在侧面说明。我如何从这样的记录中删除。 @ jobs.delete? – overtone

+0

在你的控制器'destroy'动作中你会做'@jobs = Job.find(params [:id]); @ jobs.destroy'。你可以在两行中找到它并去掉';'。你需要一个适当的'link_to'帮手指向销毁方法,即'<%= link_to“删除”,job_path(job),:confirm =>“Are you sure?”,:method =>:delete% >' –

回答

2

你有什么把redirect_to设置为crawl#crawl?完成后也许将其设置为重定向到jobs_path

+0

我会添加适当的路由:'crawl_path',所以你有:'link_to“抓取!”,crawl_path' – josemota

+0

哦的确 - 谢谢@josemota –

+0

@ you2guys谢谢!我只是改变了它。我仍然在红宝石的语法和良好实践中取得了我的头脑。 @Mike我没有在抓取#抓取中的任何重定向。我甚至不知道如何诚实。您建议我链接到抓取页面并从那里重定向吗? – overtone

相关问题