url中的多个参数形成

时间:2016-12-15 21:47:55

标签: ruby-on-rails ruby-on-rails-4

寻找一种从url到表单中获取params的方法。

localhost:3000/person/param[1],param[2],param[3]...,param[n]

如果找到,它将使用正确的id / slug拉出正确的页面。

如果没有,它将重定向到并创建一个新页面并将参数插入到右侧字段中。

使用示例:

  

本地主机:3000 /人/ 1234,汤姆,Tom_is_a_cool_guy

     找不到

< 1234,因此创建了新表单>

     

- 新形式 -

     

id:1234

     

名字:汤姆

     

文字:汤姆是一个很酷的家伙

     

[提交按钮]

目前我在最后输入一个新ID时工作,但它只需要在网址中输入1个参数。

  # GET /device_infos/1
# GET /device_infos/1.json
  def show
Rails.logger.info "inside persons_controller show"
if @person.nil?
  redirect_to action: "new", id: params[:id]
  return
end
# GET /persons/new
def new
   @person = Person.new
   @person.slug = params[:id]
end

我对rails很新,所以任何帮助都将不胜感激!谢谢!

1 个答案:

答案 0 :(得分:0)

将其与meagar的格式一起弄清楚:

localhost:3000/person/1234?name=Tom&text=Tom+is+a+cool+guy

我加入了控制器:

# GET /device_infos/1.json
def show
  Rails.logger.info "inside persons_controller show"
  if @person.nil?
     redirect_to action: "new", id: params[:id], name: params[:name], text: params[:text]
     return
end
# GET /persons/new
def new
   @person = Person.new
   @person.slug = params[:id]
   @person.name = params[:name]
   @person.text = params[:text]
end