我在symfony 2 + FOSUserBundle中创建新/编辑用户表单时遇到问题.我想让管理员从下拉列表或单选按钮列表中选择用户角色,但我似乎无法让它工作.我在这里找到了这个答案如何将完整的安全角色列表/层次结构传递给Symfony2中的FormType类?这是我能找到的最相关的东西,但它不起作用.
这是目前的UserType表单.我想从容器中获取角色但是我似乎无法在没有它抛出错误的情况下工作.这些角色将正确填充下拉列表,但它不会显示当前分配的角色,也不会允许更新信息,因为它希望它是一个数组$entity->addRoles(array('ROLE_SUPER_ADMIN'));,但它只是作为字符串提交.
namespace Wes\AdminBundle\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
class UserType extends AbstractType
{
private $roles;
public function __construct($roles) {
$this->roles = $roles;
}
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('username')
->add('email')
->add('enabled')
->add('roles', 'choice', array(
'choices' => $this->flattenArray($this->roles),
))
->add('firstName')
->add('lastName')
;
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'Wes\AdminBundle\Entity\User',
'roles' => null,
'userRole' => null,
));
}
public function getName()
{
return 'wes_adminbundle_usertype';
}
private function …Run Code Online (Sandbox Code Playgroud) 我是流浪汉的新手,并且正在解决问题.端口转发运行正常,我可以访问它.但是我无法让凉亭和沟壑正常工作.
这个问题似乎源于www-data/www-data所拥有的/ var/www目录.即使在将vagrant添加到www-data组之后,vagrant用户也没有对任何目录的写权限.我甚至无法使用sudo chmod向任何文件添加写入权限.
每当我尝试运行bower,gulp甚至git时,我都没有获得访问权限被拒绝的错误.
任何帮助将不胜感激.
流浪档案:
# -*- mode: ruby -*-
# vi: set ft=ruby :
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "hashicorp/precise32"
config.vm.network :forwarded_port, guest: 80, host: 8080, auto_correct: true
config.ssh.private_key_path = ['~/.vagrant.d/insecure_private_key', '~/.ssh/id_rsa.pub']
config.ssh.forward_agent = true
config.vm.synced_folder "/home/develop/b3c-dev", "/var/www", create: true, group: "vagrant", owner: "www-data"
config.vm.synced_folder "/home/vagrant/b3c_ee/provision", "/var/provision", create: true, group: "root", owner: "root"
config.vm.provider "virtualbox" do |v|
v.name = "B3C Expression Engine Dev Vagrant"
v.customize ["modifyvm", :id, "--memory", "1024"]
end
config.vm.provision "shell", …Run Code Online (Sandbox Code Playgroud)