2010-06-29 30 views
1

我有軌生成一個HTML表單,這樣,當它提交,軌道控制器可以收集所有params用於在軌道一舉對象有:使用原型模仿HTML表單

@car_object = Car.new(params[:car]) 

導致在這樣的:

@car_object.color = "red"; 
@car_object.make = "Honda" 

等等

但我也需要有當通過原型提交的控制器能夠提取相同PARAMS。目前,我正在做它喜歡:

req = new Ajax.Request('/car', { 
    method: 'post', 
    parameters: { authenticity_token: getAuthKey(), 
        color: color, 
        make: make 
        }, 

在這種情況下,控制器具有通過獲取各個參數,並將它們分配給新的Car對象手動創建汽車對象。

我該如何創建這個Ajax請求,以便當Rails控制器獲取它時,params [:car]可以提取參數並將它們分配給pwn上的新Car對象?

+0

如果這是內嵌的JavaScript或包含在rjs文件中,您可能希望將url從魔術字符串更改爲像<%= url_for(:action =>'create')%> – Jimmy 2010-06-29 18:02:33

回答

1

事實證明我並不遙遠,但在我的情況下,我需要包括在以下keeper_id格式:

parameters: { authenticity_token: getAuthKey(), 
        color: color, 
        make: make, 
        'dealership[keeper_id]': dealership_id 
       }, 

謝謝你們!

1

我有一段時間沒有使用Prototype,所以請原諒快速猜測,但是您是否嘗試過使用這種方式提交?

req = new Ajax.Request('/car', { 
    method: 'post', 
    parameters: { 
     authenticity_token: getAuthKey(), 
     car: { 
      color: color, 
      make: make 
     }, 
0

我不是太肯定對你的要求的確切細節,因爲我不熟悉的軌道上。根據the docs它可能與Prototype,雖然傳遞一個對象或散列作爲您的參數在Ajax.Request