formtastic を使用してフォームを作成したいのですが、それに関連付けられたモデルがありません (ユーザー名、パスワード、openid URL を使用したログイン フォーム)。
もちろん、それを行うためのモデルを作成することはできましたが、そのモデルは有用なコードが含まれていないハックに過ぎませんでした。
formtastic を使用してフォームを作成したいのですが、それに関連付けられたモデルがありません (ユーザー名、パスワード、openid URL を使用したログイン フォーム)。
もちろん、それを行うためのモデルを作成することはできましたが、そのモデルは有用なコードが含まれていないハックに過ぎませんでした。
フィールド名の生成に使用されるモデルの代わりに文字列を渡すことができます。
<% semantic_form_for 'user', :url => 'login' do |f| %>
<% f.inputs :name => 'Login Details' do %>
<%= f.input :username %>
<%= f.input :password %>
<% end %>
<% end %>
次のようなものが生成されます。
<form action="/login" class="formtastic user" method="post"><div style="margin:0;padding:0;display:inline"><input name="authenticity_token" type="hidden" value="E/NksKRd7Twh4nGp1Qc8jBQNfqYDn8gg6sWdTdCtl+g=" /></div>
<fieldset class="inputs"><legend><span>Login Details</span></legend><ol>
<li class="string required" id="user_username_input"><label for="user_username">Username<abbr title="required">*</abbr></label><input id="user_username" name="user[username]" size="50" type="text" /></li>
<li class="password required" id="user_password_input"><label for="user_password">Password<abbr title="required">*</abbr></label><input id="user_password" name="user[password]" size="50" type="password" /></li>
</ol></fieldset>
</form>
ただし、formtastic はどのタイプのフィールドを使用する必要があるかを判断できないため、オプションをより具体的にする必要があります。すべてデフォルトでテキスト フィールドになります (ただし、passwordパスワード タイプ フィールドのような名前のフィールドが自動的に作成されます)。
これを行うためのより良い方法は、セッション モデルを使用することです。詳細については、authlogic ( http://github.com/binarylogic/authlogic ) の動作方法をご覧ください。