2011-03-12 22 views
2

我有有這個文本字段Ruby on Rails的 - 轉至形式text_field的價值,是一個參數的作用在不同的控制器

<%= f.text_field :content %> 

我有一個的link_to標籤後的文本價值形式字段轉換爲另一個控制器中的動作。我需要能夠獲得文本字段的值,並說

<%= link_to 'post', :controller => "a_different_controller", :action => "update", :message => "text field's value" %> 

你能幫我在這裏嗎?

我試過各種貼出棧溢出的選項。沒有任何工作。

回答

1

如果你想POST一個沒有HTML表單的值,你必須通過JavaScript來做到這一點。您可以爲該鏈接創建一個onClick偵聽器,並在偵聽器中獲取該text_field的值並通過javascript提交表單。

+0

感謝您的回覆Mike。是的,我確實將它添加到了link_to標籤。 onclick =>「get_content()」。並寫了這個函數。函數get_content() \t { \t \t return getElementById('tweet_content')。value; \t}現在我的問題是,如何將「getElementById('tweet_content')。value」設置爲:我需要發送到另一個控制器中的'update'操作的message參數。 – Artin 2011-03-12 21:14:11

+0

getElementById('message')。value = getElementById('tweet_content')。value form.submit()//其中form是表單元素。 – 2011-03-12 22:42:41

+0

哦。消息不是表單元素。它只是用來在單擊鏈接時將文本字段的值傳遞給另一個控制器中的更新操作的參數名稱。我理解你的解決方案嗎? – Artin 2011-03-13 03:45:12

0

你可以通過你link_to幫手remotemethod選項:

<%= link_to 'Post', yourmodel_path, :remote => true, :method => :put %> 

這將通過AJAX提交。如果你不想這樣做,而你只想使用PUT HTTP動詞,則可以刪除:remote => true部分。

請注意,我正在使用指向您所針對的操作的簡寫方式。如果您不熟悉這一點,我建議您通過Rails Guides ......這是瞭解示例代碼的核心。

相關問題