2011-08-23 65 views
0

我相信我的問題很簡單,但不知何故,我沒有取得任何成功。Rails 3 - Params question

比方說,我有一個模型test和一個form_for (@test),以創建一個新的。

在我的控制器創建方法中,我有@test = Test.new(params[:test])。但是如果我想要得到這個參數就是測試的名字或者類似的東西呢?

例:

@test_name = params[???] 

@test = Test.new(params[:test]) 

在我看來:

<%= form_for(@test) do |t| %> 
... 
    <div class="field"> 
    <%= t.label :name %><br /> 
    <%= t.text_field :name %> 
    </div> 
    <div class="field"> 
    <%= t.label :field %><br /> 
    <%= t.text_area :field %> 
    </div> 
... 
<% end %> 

我怎樣才能做到這一點?

感謝您的未來幫助。

回答

1

您可以直接訪問它想:

@test_name = params[:test][:name] 

你也可以這樣做:

@test = Test.new(params[:test]) 
@test_name = @test.name 

我很好奇,爲什麼你雖然在分配名稱實例變量。

+0

謝謝!不記得了。我正在用新數據庫進行測試,我想用用戶將要傳遞的名稱創建一個數據庫。在這個數據庫中,我將添加例如全新的測試。 –

0

你可以這樣做:

@test = Test.new 
@test.name = params[:test][:name] 
@test.foo = params[:test][:foo] 
# and so on...