Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.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 在Rails中动态引用控制器操作_Ruby On Rails - Fatal编程技术网

Ruby on rails 在Rails中动态引用控制器操作

Ruby on rails 在Rails中动态引用控制器操作,ruby-on-rails,Ruby On Rails,我试图在页面内显示动态链接列表,如下所示: <% locations = get_locations() %> <ul> <% locations.each { |loc| %> <li><%= link_to loc['name'], show_location_path(:id => loc['id']) %></li> <% } %> </ul> loc[

我试图在页面内显示动态链接列表,如下所示:

<% locations = get_locations() %>

<ul>
  <% locations.each { |loc| %>
      <li><%= link_to loc['name'], show_location_path(:id => loc['id']) %></li>
  <% } %>
</ul>   

  • loc['id'])%>
这段代码是一个500服务器错误

我通过以下操作验证loc['id']和loc['name']是否有效:

<ul>
  <% locations.each { |loc| %>
      <li><%= loc['name'] %></li>
      <li><%= loc['id'] %></li>
  <% } %>
</ul>   
这不会导致500错误,如果列表显示正确,则会显示该列表。有什么想法吗

答复: 他认为:

  • 'location',:action=>'show',:id=>loc['id']}%>
  • 在控制器中:


    params[:id]

    我不确定语法是否正确

    show_location_path(:id => loc['id']) 
    
    难道不是吗

    show_location_path(loc['id'])
    

    假设您将路由定义为
    资源:位置

    然后,要为显示操作创建链接,请使用以下命令:

    <ul>
      <% locations.each do |loc| %>
          <li><%= link_to loc['name'], location_path(loc['id']) %></li>
      <% end %>
    </ul> 
    

    如果您尝试
  • loc['id']%>
  • 您有什么?@EastsideDeveloper请共享收到此错误时生成的服务器日志。您要链接到哪些路由?仅生成错误日志:在526ms内完成500个内部服务器错误。不是很有帮助:@macario:我想链接到的路径列在我的问题中:show_location_path我应该能够传递一个参数。如果不是身份证呢?如何传递参数?人们开始编写rails,但没有完成教程。。我想……:)这些问题就是这样产生的……这实际上是行不通的。它以以下形式生成链接:/location.1而不是/location/1。回到原点1