2009-12-08 75 views
4

可以說你有一個簡單的表單來在應用程序中創建一個新的文章對象。在Rails中自動填寫表單字段?

<% form_for @article do |f| %> 
<p> 
    name:<br /> 
    <%= f.text_field :name %> 
</p> 
<p> 
    link:<br /> 
    <%= f.text_field :link %> 
</p> 

<p> 
    <%= submit_tag %> 
</p> 

我使用的RSS Feed解析器Feedtools得到文章的名字,但我似乎無法在從可訪問其他地方的數據表格字段自動填寫。假設文章的名稱可通過params[:name]訪問。我怎麼能得到params[:name]文章(或params[:link]爲此事)到表單字段的名稱,而不必給它輸入用戶?我不想自動創建文章對象,因爲用戶可能想要稍微修改名稱。

回答

11

如果傳遞要顯示在new行動Article構造的信息,表單將呈現填充。即使一個新的對象已經被實例化,它也不會被持久化到數據庫,因爲在任何時候都沒有調用save方法。這將在創建操作中發生。

def new 
    @article = Article.new :name => "Steve Graham's insane blog", :link => "http://swaggadocio.com/" 

    respond_to do |format| 
    format.html # new.html.erb 
    format.xml { render :xml => @post } 
    end 
end 

不知道更多關於您的應用邏輯,我無法提供有關如何縫合部件在一起的幫助。儘管如此,這應該可以幫助你。

+0

謝謝史蒂夫。這個也應該工作。 – 2009-12-08 02:22:23

+0

沒有probs肯尼基! – 2009-12-08 02:53:57

+1

我敢打賭,這是更「標準」的做法,因爲你正在使用@article對象,這可以讓你重新使用窗體部分進行新建和編輯。 – MattMcKnight 2009-12-08 02:59:08