2009-12-15 57 views
0

我如何從控制器類訪問隱藏值字段。Ruby on Rails從控制器訪問隱藏值

我隱藏的價值領域是

<input id="user_id" name="user.id" size="30" type="text" value="<%= @user.id %>" /> 

目前,我試圖用@ user.id, @user = User.find(@ user.id) 但像

其發生錯誤訪問

「名爲id的零,這將被錯誤地4 - 如果你真的想零的ID,使用OBJECT_ID」

那麼如何訪問上面的隱藏價值

在此先感謝, Mahesh

+0

您的帖子已損壞,您最好再次編輯它。 – khelll 2009-12-15 10:17:28

回答

1

您需要將您的字段名稱更改爲user_id以使其更傳統。

您使用params哈希訪問任何POST/GET數據。

# your controller 
params[:user_id] 
# => "field_value 
1

兩個快速註釋。我會避免根據表單提交的user_id,這很容易僞造。最好將它從控制器創建,更新或刪除方法中的身份驗證中提取出來。第二,我會研究一下形式助手,例如hidden_field,在form_forfields_for內。

<% form_form @some_model do %> 
    <%= f.hidden_field(:some_field_on_the_model) %> 
    <%= hidden_field(:some_model, :some_field) %> 

然後,您使用先前詳細的參數哈希將值返回到控制器中。

mymodel = MyModel.find(params[:some_field])