Ruby on rails 如何动态修改Rails路径名?

Ruby on rails 如何动态修改Rails路径名?,ruby-on-rails,ruby,ruby-on-rails-3,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 3,Ruby On Rails 4,我的参数[:type]等于项(单数) 我需要将用户发送到 items_path(name: params[:name]) 我需要对路径的params[:type]部分进行复数化,并将其与我的视图合并,以获得正确的链接,我正在努力做到这一点 视情况而定。对于无条件多元化,您可以这样做: plural = params[:type].pluralize # => 'items' route_method = "#{plural}_path" # => 'items_path' publ

我的
参数[:type]
等于
(单数)

我需要将用户发送到

items_path(name: params[:name])

我需要对路径的
params[:type]
部分进行复数化,并将其与我的视图合并,以获得正确的链接,我正在努力做到这一点

视情况而定。对于无条件多元化,您可以这样做:

plural = params[:type].pluralize # => 'items'
route_method = "#{plural}_path" # => 'items_path'
public_send(route_method, name: params[:name])
但对我来说,这似乎不是一个非常安全的解决方案。接受用户输入并像那样执行它总是让我想起。也许,一些白名单会更好(也更可读)


视情况而定。对于无条件多元化,您可以这样做:

plural = params[:type].pluralize # => 'items'
route_method = "#{plural}_path" # => 'items_path'
public_send(route_method, name: params[:name])
但对我来说,这似乎不是一个非常安全的解决方案。接受用户输入并像那样执行它总是让我想起。也许,一些白名单会更好(也更可读)