2016-12-15 30 views
0

尋找一種方法將url中的參數轉化爲表單。url中的多個參數形成

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

如果找到了,它就會拉起右頁用正確的ID /塞。

如果不是,它將重定向到並創建一個新頁面並將params插入到右側字段中。

實例應用:

本地主機:3000 /人/ 1234,湯姆,Tom_is_a_cool_guy

< 1234中沒有找到這樣一種新的形式創建>

-new表格-

id:1234

名:湯姆

文字:湯姆是個很酷的傢伙

[提交按鈕]

目前我有當在端進入了一個新的ID工作,但只需要在1個參數中的URL。

# 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 

我很新的軌道,所以任何幫助將不勝感激!謝謝!

+2

這是不是真的網址,應該如何在Rails的工作。如果你想查詢多個值,你應該使用查詢字符串,沿着'localhost:3000/person/1234?name = Tom&text = Tom +是+ a + cool +傢伙的行的東西' – meagar

+0

謝謝,這有助於我在正確的方向。 – Peter

回答

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