0

我一直想弄清楚如何爲我的passwords_controller編寫form_for版本的這個表單。我有我的routes.rb文件中的資源:密碼。我看着我的登錄表單,即使它沒有真正訪問模型,我仍然使用form_for,它的工作。我嘗試了同樣的事情,並且不斷收到問題,所以我使用了下面的代碼,這很有用,但是真的想知道我在做什麼錯了?如何將這個form_tag表單轉換爲rails中的ruby表單的form_for表單?

<%= form_tag passwords_path, :method => :post do %> 
    <div id="#emailFieldJoin"> 
    <%= text_field_tag :email, params[:email], :placeholder => "Email" %> 
    </div> 
    <div class="actions"><%= submit_tag "Reset Password" %></div> 
<% end %> 
+2

請定義「我不斷收到問題。」另外,發佈工作的代碼是可以的,但是發佈不工作的代碼更有用。 – jdl

回答

0

通過研究我的sessions_controller和相關的視圖文件來發現它。

基本上是:

<%= form_for :password_reset, :url => passwords_path do |f| %> 
    <%= f.text_field :email, :placeholder => "Email" %>  
    <%= f.submit "Reset Password", :disable_with => 'Log In'%> 
    <% end %> 

第一個參數是你選擇的象徵。

我用params [:password_reset] [:email]從我的視圖中獲取這些參數在我的密碼控制器中。 所以重要的是傳遞給form_for helper的第一個參數。

0

喜歡的東西:

<%= form_for @password do |f| %> 
    <div id="#emailFieldJoin"> 
    <%= f.text_field :email %> 
    </div> 
    <div class="actions"><%= f.submit "Reset Password" %></div> 
<% end %> 

所以在你的控制器,你應該創建一個@password對象,可能填補從paramsemail然後渲染這種形式。

希望這會有所幫助。

相關問題