Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 将td元素的值传递给rails控制器_Ruby On Rails - Fatal编程技术网

Ruby on rails 将td元素的值传递给rails控制器

Ruby on rails 将td元素的值传递给rails控制器,ruby-on-rails,Ruby On Rails,我正在尝试将元素的值传递给rails控制器 目前,我有这样的想法: <td id="dbname"><%= link_to db, :action => :show %></td> 现在,我希望能够单击这些数据库中的一个,然后将单击的文本传递给rails控制器show action。我不确定如何为这些链接生成自定义资源路径。。。但我正在考虑使用Ajax或与javascript相关的东西来实现它。也许可以使用jQuery获取单击链接的文本,然后将文本作为

我正在尝试将元素的值传递给rails控制器

目前,我有这样的想法:

<td id="dbname"><%= link_to db, :action => :show %></td>

现在,我希望能够单击这些数据库中的一个,然后将单击的文本传递给rails控制器show action。我不确定如何为这些链接生成自定义资源路径。。。但我正在考虑使用Ajax或与javascript相关的东西来实现它。也许可以使用jQuery获取单击链接的文本,然后将文本作为参数发送给rails控制器

我认为您尝试做的事情很奇怪,但解决方案可能是使用javascript将id作为查询字符串附加到每个链接的href

如果你能解释一下你想要实现的目标,也许我们能找到更好的解决方案

希望有帮助

编辑:

如果你有一个链接表,我认为你应该把它们当作一个资源,并用其他方式管理它们。 你的控制器应该有一个索引和显示操作,你应该在路由文件中将链接声明为一个资源(可能是一个保留字,你必须使用不同的名称,我不确定),索引操作将获取所有链接,当你呈现它们时,你可以为每个链接指定类似于“link_path(link.id)”(请记住,您应该定义了一个show操作)在控制器中,您将收到链接id,这样您就可以用一个简单的“find”加载它并将其传递给视图

我建议您始终寻找其他方法来解决ROR中的问题

编辑2:

好的,让我们看看这是否适合您:

我假设您有一个模型来表示您正在谈论的链接,例如:

class DataBaseLinks < ActiveRecord:Base

end
你怎么看

编辑3:

(找到正确答案后,我将删除所有编辑过的答案)

好吧,我假设你没有使用mongoid这样的东西,所以你没有类似的活动记录对象

在您看来,您是否尝试过这一点:

<% dbs.each do |dbs_name| %>
  <%= link_to dbs_name, :controller => "your_controller", :action => :show, :dbs_name => dbs_name %>
<% end %> 

“您的\u控制器”,:action=>:show,:dbs\u name=>dbs\u name%>

本质上,我有一个链接表。每个链接都是数据库名称,因此当我单击其中一个数据库名称时,它应该将数据库名称发送给rails控制器,然后rails控制器将获取有关该数据库的信息,并通过在新视图上呈现来显示数据库的表!链接是只是在控制器的索引操作中创建并存储在变量中的数组。然后在.html.erb页面中,我使用for each循环获取名称并创建一个表,其中的名称作为链接。现在,我不知道如何将链接ID添加到这些链接,或者如何将它们声明为资源!?您还可以将每个链接名称附加到其链接上_如中所示,对于帮助程序,您只需将链接的名称用作参数,并将其发送到控制器,如果您使用循环将链接呈现给帮助程序,则将是直接的是,但名称是动态生成的!请参阅我更新的问题!元素没有“值”。
class DataBaseLinks < ActiveRecord:Base

end
class DataBaseLinksController < ApplicationController

  def index
    @dabatase_links = DataBaseLink.all
  end

  def show
    @database_link = DataBaseLink.find(params[:id])
  end

end
<% @database_links.each do |database_link| %>
  <%= link_to database_link.name, database_link_path(database_link.id) %>
<% end %>
resources :database_links, :only => [:index, :show]
<% dbs.each do |dbs_name| %>
  <%= link_to dbs_name, :controller => "your_controller", :action => :show, :dbs_name => dbs_name %>
<% end %>