

rubyのデバイスの ()内のresourceと as: resource_nameはどういった意味なのでしょうか？  
form_for自体なかなか理解できず苦戦しています。どなたかお願いします。

[code]

    <%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
    
    <div class='regist_back'>
      <div class='log-up'>
        <%= render partial: 'common/login_logo' %>
    
        <div class='log-in-inner'>
          <h2>会員登録</h2>
    
          <%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
            <%= devise_error_messages! %>
    
            <div class='form-group'>
              <%= f.label :メールアドレス %><br />
              <%= f.email_field :email, autofocus: true, class: 'form-control' %>
            </div>
    
            <div class='form-group'>
              <%= f.label :パスワード %>
              <% if @validatable %>
                <em>(<%= @minimum_password_length %> 文字以上)</em>
              <% end %><br />
              <%= f.password_field :password, autocomplete: 'off', class: 'form-control' %>
            </div>
    
            <div class='form-group'>
              <%= f.label :パスワード（確認） %><br />
              <%= f.password_field :password_confirmation, autocomplete: 'off', class: 'form-control' %>
            </div>
    
            <div class='form-group'>
              <%= f.label :グループ名（半角英数） %><br />
              <%= f.text_field :group_key, class: 'form-control' %>
            </div>
    
            <div class='actions'>
              <%= f.submit class: 'btn btn-primary withripple', value: '新規登録' %>
            </div>
          <% end %>
    
          <%= render 'devise/shared/links' %>
        </div>
      </div>
    </div>
    
[/code]


CC BY-SA 3.0
2017-09-30T08:04:45.703
38322
2017-10-02T01:14:45.010
2017-09-30T08:40:25.557
19110
25601
question
ruby-on-rails ruby devise
form_forのオプションに関して


deviseを使ってるのが`User`の場合を例にすると

  * resourceはUserのオブジェクト
  * resource_nameは`:user`

になります。

deviseは任意のクラス名を扱うことができますが、その場合でもテンプレートを共通化できるように抽象化しています。


CC BY-SA 3.0
2017-10-02T01:14:45.010
38353
2017-10-02T01:14:45.010
5793
38322
answer