Там какой-либо путь состоит в том, чтобы создать форму с formtastic без модели?

Я хотел бы использовать formtastic для создания формы, но у меня нет модели связанной с тем (форма входа в систему с именем пользователя, паролем, и открыл URL).

Конечно, я мог создать модель, чтобы сделать это, но что модель была просто взломом без любого полезного кода в ней.

17
задан KARASZI István 2 January 2010 в 12:26
поделиться

1 ответ

Вы можете передать строку вместо модели, которая будет использоваться для генерации имён полей:

<% 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 password type fields).

Лучше всего это сделать с помощью модели сеансов, посмотрите, как работает автологика (http://github.com/binarylogic/authlogic) для дополнительной информации.

.
46
ответ дан 30 November 2019 в 10:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: