Is there any way to create a form with formtastic without a model?

前端 未结 1 1574
长情又很酷
长情又很酷 2021-02-04 04:11

I would like to use formtastic to create form but I don\'t have a model associated with that (login form with username, password and openid URL).

Of course I could creat

相关标签:
1条回答
  • 2021-02-04 04:33

    You can pass a string instead of a model, which will be used to generate the field names:

    <% semantic_form_for 'user', :url => 'login' do |f| %>
        <% f.inputs :name => 'Login Details' do %>
            <%= f.input :username %>
            <%= f.input :password %>
        <% end %>
    <% end %>
    

    Which will produce something like:

    <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>
    

    But you will need to be more specific with your options as formtastic won't be able to work out what types of fields it should use, all will default to textfields (although it automatically makes fields named like password password type fields).

    A better way to do this though would be with a sessions model, have a look at the way authlogic (http://github.com/binarylogic/authlogic) works for more info.

    0 讨论(0)
提交回复
热议问题