Ruby on rails 替换:id参数

Ruby on rails 替换:id参数,ruby-on-rails,ruby,models,Ruby On Rails,Ruby,Models,我有资源:users和custom\u id在users表中 我想使用link_到“user”,user方法选择custom_id来提供此字段作为参数的链接 我的显示用户内部的操作\u controller.rb: ... @user = User.find(custom_id: params[:id]) ... 更好的管理方法是通过to_param方法,您可以在模型中定义该方法。当您将模型实例传递给路径帮助器时,它会对其调用此方法,默认情况下,该方法会返回id。您可以覆盖它以使用cust

我有
资源:users
custom\u id
在users表中

我想使用
link_到“user”,user
方法选择
custom_id
来提供此字段作为参数的链接

我的
显示
用户内部的操作\u controller.rb:

...
  @user = User.find(custom_id: params[:id])
...

更好的管理方法是通过
to_param
方法,您可以在模型中定义该方法。当您将模型实例传递给路径帮助器时,它会对其调用此方法,默认情况下,该方法会返回id。您可以覆盖它以使用
custom\u id

#in User class
def to_param
  self.custom_id
end
现在你可以说

link_to "user", user_path(@user)
它将生成类似html的内容

<a href="/users/<@user.custom_id>">user</a>

现在,您可以在加载@user的所有操作中说
load\u user
,或者将其放入相关操作的before过滤器中,这甚至更为简单。

更好的管理方法是通过
to_param
方法,您可以在模型中定义该方法。当您将模型实例传递给路径帮助器时,它会对其调用此方法,默认情况下,该方法会返回id。您可以覆盖它以使用
custom\u id

#in User class
def to_param
  self.custom_id
end
现在你可以说

link_to "user", user_path(@user)
它将生成类似html的内容

<a href="/users/<@user.custom_id>">user</a>

现在,您可以在加载@user的所有操作中说
load\u user
,或者将其放入相关操作的before过滤器中,这甚至更为简单。

在您的表单中,您可以使用:

<%= link_to @user.name, @user %>

在您的表格中,您可以使用:

<%= link_to @user.name, @user %>

我想你需要这样的东西:
link\u到“user”,user\u path(@user,:custom\u id=>some\u id)
发布用户模型和迁移的代码。我想你需要这样的东西:
link\u到“user”,user\u path(@user,:custom\u id=>some\u id)
发布用户模型和迁移的代码。