83

モデルなしでSimple Form (by: Plataformatec) を使用することはできますか?

https://github.com/plataformatec/simple_form

4

5 に答える 5

126

:symbol最初の引数として使用できます。

<%= simple_form_for :user, url: users_path do |f| %>
  <%= f.input :name, as: :string %>
  ...
<% end %>

次のような出力が得られます。

<form novalidate="novalidate" class="simple_form user" action="/users" accept-charset="UTF-8" method="post">
  ...
  <div class="input string required user_name">
    <label class="string required" for="user_name">
      <abbr title="required">*</abbr> Name
    </label>
    <input class="string required" type="text" name="user[name]" id="user_name" />
  </div>
  ...
</form>
于 2011-03-03T13:56:12.307 に答える
15

次のように simple_fields_for を使用して、フォーム モデル内のモデル外のフィールドを使用することもできます。

<%= simple_form_for @user do |f| %>
  <%= f.input :name %>

  <%= simple_fields_for :no_model_fields do |n| %>
    <%= n.input :other_field %>
  <% end %>
<% end %>

さまざまなモデルから、またはモデルを使用せずにさまざまな種類のフィールドを作成できるため、これはシンプルで実用的なソリューションです。

于 2016-08-05T16:02:41.197 に答える
4

の引数としての:symbol代わりに を渡すこともできます。@objectsimple_form_for

<%= simple_form_for :email, :url => '/post_email' do |f| %>
  <%= f.input :subject, :as => :string %>
<% end %>

どちらが出力されますか:

<form method="post" class="simple_form email" action="/post_email" accept-charset="UTF-8">
  ...
  <input type="text" size="30" name="email[subject]" id="email_subject">
</form>

次の欠点に注意してください。

  • 自動モデル検証を利用できなくなります
  • :urlそれぞれのタイプを明示的に定義する必要がありますinput
于 2013-03-06T23:59:56.760 に答える