J'essaie de contrôler mon administration directement sur la page d'index avec best_in_place. Mais quand il s'agit de choisir le rôle, ça ne marche pas pour moi jusqu'à maintenant.Best_in_place collection 1 à plusieurs association
Mes modèles ressemblent à ceci:
class User < ActiveRecord::Base
belongs_to :role
before_create :set_default_role
def set_default_role
self.role ||= Role.find_by_name('Guest')
end
end
class Role < ActiveRecord::Base
has_many :users
has_and_belongs_to_many :permissions
accepts_nested_attributes_for :users, :permissions
end
Ce que je l'ai fait jusqu'à présent essaie de sélectionner la role_id
clé étrangère sur collection choisie mais je ne peux pas le faire fonctionner que je vois les noms des rôles existants dans ma sélection menu déroulant.
<td><%= best_in_place user, :role_id, :type => :select, :collection => "???" %></td>
Espérons que quelqu'un puisse vous aider.
Meilleures salutations!
Edit: user_controller.rb
class UsersController < ApplicationController
before_action :set_user, only: [:show, :update, :destroy]
def index
@users = User.all
end
def show
end
def update
@user.update_attributes(user_params)
respond_with @user
end
private
def set_user
@user = User.find(params[:id])
end
def user_params
params.require(:user).permit(:role_id)
end
end
Pouvez-vous envoyer votre code de contrôleur? – Pavan
Vous pouvez le voir ci-dessus maintenant! – Syk
Essayez cet utilisateur <% = best_in_place,: role_id,: type =>: select,: collection => @ users.map {| i | [i.id, i.name]}%> ' – Pavan