我检查并重新检查了我的代码,引用了整个网络上的CI文档和其他帖子,但是我没有成功实现set_value()方法,以便在验证失败后重新填充表单字段.也许我错过了CI框架的一些非常重要的东西(我对它很新),但是你的见解会非常感激.
我的控制器方法中有以下内容:
public function form_step2(){
//Form Setup
$this->load->helper('form');
$this->load->helper('url');
$this->load->library('form_validation');
$data['title'] = $this->base_title;
$data['base_url'] = base_url();
//Validation Settings - must be set per step
$this->form_validation->set_rules('request_type', 'Request Type', 'required');
*...more of the same set_rules()*
if ($this->form_validation->run() === FALSE) {
### Validation failed or New Form
// Get form element data
$data['request_types'] = $this->my_model->get_form_data('request_type');
*...more of the same get_form_data() calls for loading form elements*
//Generate Page from View Templates
$this->load->view('templates/header', $data);
$this->load->view('templates/form_step2', $data);
$this->load->view('templates/footer');
} else {
### Save to database
$this->my_model->set_data($data); …Run Code Online (Sandbox Code Playgroud) 我正在通过该方法将 JSON 字符串从 Nodejs 服务器上传到 S3 s3.upload。
var s3 = new AWS.S3();
s3.upload({
Bucket: myBucket,
Key: 'myPath/' + thing.id + '.json',
Body: JSON.stringify(thing),
ContentType: 'application/json'
})
Run Code Online (Sandbox Code Playgroud)
如果在上面的代码片段中,该thing对象具有包含表情符号的 String 属性,我将如何修改此操作以保留表情符号字符。
在我的节点服务器上,我可以看到表情符号已存储在数据库中并正确提供服务。只有在上传之后,角色才会失去完整性。我认为有一些字符编码技巧可以应用于 JSON.stringify 结果,但我还不知道细节。在此寻求帮助。
我在节点服务器上得到的 JSON:
我在 S3 看到的 JSON:
我在安装了 redis/3.0.3 的情况下开始了这个任务,并希望将我的本地开发 redis 升级到版本 3.2.3,这就是我们在生产中运行的版本。我最终运行了brew upgrade redis,它安装了 redis 4.0.2,比我想要的版本早。然后我发现可以安装brew install redis@3.23.2.x。另外,在尝试清理 4.0.2 时,它只清理了 3.0.3。
现在我陷入了 Homebrew 不允许我卸载 redis/4.0.2 的情况,并将 redis@3.2 视为单独的 Homebrew Formula 。
$ brew switch redis 3.2
Error: redis does not have a version "3.2" in the Cellar.
Versions available: 4.0.2
Run Code Online (Sandbox Code Playgroud)
看看在地窖中它们如何显示为单独的公式:
$ ls /usr/local/Cellar/ | grep redis
redis
redis@3.2
Run Code Online (Sandbox Code Playgroud)
删除 redis/4.0.2 并使用 redis@3.2 作为我的默认 redis 的正确“自制”方法是什么,以便命令改为redis-server引用redis-cli3.2?我正在运行 Mac OS X Yosemite 10.10.5 和 Homebrew 1.3.4。
$ ls -l …Run Code Online (Sandbox Code Playgroud)