0

ページ上部のいたるところにログインフィールドを作成したいので、:を追加しました。

application.html.erb内:

<%= render :partial => 'sessions/new' %>

... / views / sessions/_new.html.erbで

<%= form_tag do %>
  <div>
    <label for="name">Email :</label>
    <%= text_field_tag :name, params[:name] %>
    <label for="password">Mot de passe :</label>
    <%= password_field_tag :password, params[:password] %>
  </div>

  <div>
    <%= submit_tag "Connection" %>
  </div>
</fieldset>

しかし、ブラウザでテストしたときにセッションコントローラを使用している場合にのみ機能します。

<%= submit_tag "Connection" %>

彼の現在のコントローラー(セッション)を参照しているため、たとえば、ads / indexでは機能しませんが、sessions/indexでは機能します。

私に何ができる ?submit_tagでコントローラーを指定する必要がありますか?

どうもありがとう :)

4

2 に答える 2

0

フォームの送信先の URL をフォーム タグに伝える必要があります。たぶん、デフォルトで現在のアクションか何かに送信されますか?それが何であれ、デフォルトに頼るべきではありません。

API http://railsbrain.com/api/rails-2.3.2/doc/index.html?a=M002551&name=form_tagを読む

ああ、ところで送信タグは単なるボタンであり、フォームが機能するか機能しないかには何の関係もありません。Rails の初心者の間では、フォームについて多くの混乱があります。多くの人は、フォームがどのように機能するかを本当に理解していません。Rails ヘルパーを使用する前に、純粋な html でフォームを作成することを強くお勧めします。そうすれば、実際に何が起こっているのかを理解することができ、フォーム ヘルパーはまさに「何かをより迅速に行うのに役立つもの」になります。あなたが期待します。

于 2010-06-04T14:45:34.013 に答える
0

コントローラーを指定する必要がありますがform_tagsubmit_tag

例えば<%= form_tag :controller => 'sessions', :action => 'new' %>

于 2010-06-04T14:46:31.267 に答える