一括割り当て保護を許可するには、「attr_accessible」を使用する必要があることを知っています。これは、実際に私のユーザーモデルで行っていることです。どうしてまだ文句を言うの?
Can't mass-assign protected attributes: email, password
ユーザーコントローラー:
class UsersController < ApplicationController
def index
@users = User.new
end
def show
@user = User.find(2)
end
def login
@user = Project.new(params[:user])
...
end
end
ユーザーモデル:
class User < ActiveRecord::Base
has_and_belongs_to_many :projects
belongs_to :project
belongs_to :ticket
# Setup accessible (or protected) attributes for your model
attr_accessible :email, :password
end
ビュー、_navigation.html.erb:
<%= form_for("user", :url => login_users_path, :html => { :method => :post }) do |f| %>
<%= f.label :email%>
<%= f.text_field(:email, :size => 30, :class => 'login_field', :placeholder => 'Användarnamn')%>
<%= f.label :password%>
<%= f.text_field(:password, :size => 30, :class => 'login_field', :placeholder => 'Lösenord')%>
<%= f.submit "Logga in", :class => 'login_submit btn btn-primary' %>
<% end %>
config / routers.rbから:
resources :users do
post :login, on: :collection, as: :login
end
上記のコレクションを使用しているので、(私が理解している限り)それは私が使用している正しいコントロール/モデル(ユーザー)である必要がありますか?