ruby-on-rails - Ruby on Rails 中的路由错误 "action: show"

标签 ruby-on-rails ruby

我是 RoR 的新手,我正在尝试制作主数据: 用户 -卢格(地点)

我的路线.rb

  resources :users do
    resources :lugars
  end

我的 Controller lugars

class LugarsController < ApplicationController 
  def create
    @user = User.find(params[:user_id])
    @lugar = @user.lugars.create(params[:lugar])
    redirect_to account_url
  end

  def destroy
    @user = User.find(params[:user_id])
    @lugar = @user.lugars.find(params[:id])
    @lugar.destroy
    redirect_to account_url
  end

  def edit
    @user = User.find(params[:user_id])
    @lugar = @user.lugars.find(params[:id])
  end

  def show
    @user = User.find(params[:user_id])
    @lugar = @user.lugars.find(params[:id])
  end

  def index
    @user = User.find(params[:user_id])
    @lugar = @user.lugars.all
  end
end

还有我的看法

....
    <% @user.lugars.each do |lugar| %>
      <tr>
        <td><%= lugar.nombre %></td>
        <td><%= lugar.telefono %></td>
        <td><%= lugar.direccion %></td>
        <td><%= lugar.numero %></td>
        <td><%= lugar.localidad %></td>
        <td><%= lugar.provincia %></td>
        <td><%= link_to "Editar",  user_lugar_path %></td>
        <td><%= link_to "Eliminar", [lugar.user , lugar], :method => :delete %></td>
      </tr>
    <% end %>
....

我已经在我的 lugars View “show.html.erb”中创建并清空了文件,但是当我进入页面时总是得到:

Routing Error

No route matches {:action=>"show", :controller=>"lugars"}

有什么想法吗?提前致谢

最佳答案

您在没有 ID/对象的情况下调用 user_lugar_path,因此它不知道要路由到哪个单独的资源。由于资源是嵌套的,您必须将 lugar 本身和它嵌套在下面的 user 传递给它:

link_to "Editar", user_lugar_path(@user, lugar)

您也可以简单地传递 link_to对象:

link_to "Editar", [@user, lugar]

您可以在 Rails Guides on routing 中阅读更多相关信息.

关于ruby-on-rails - Ruby on Rails 中的路由错误 "action: show",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9660136/

相关文章:

ruby-on-rails - 设置 Rhodes 环境并已安装 Ruby on Rails

ruby-on-rails - 如何初始化 Rack 服务器监听套接字

ruby-on-rails - ActionController::UnfilteredParameters - 无法将未经允许的参数转换为散列 - Rails 5.1.6

ruby - 用葡萄和回形针上传文件

ruby - 如何在 Markdown 文件中传递和呈现 ruby​​ 变量? gem "redcarpet"

ruby-on-rails - RSPEC 获取用于绑定(bind) ivars 的 ExampleGroup

ruby-on-rails - 从源代码中隐藏密码

ruby-on-rails - mustache 中标签助手的正确程序

ruby - 十六进制字符串表示为十六进制

ruby-on-rails - RailsAdmin for Rails3(带设计)-仅用于管理 View ?