所以,假设我想发送一堆电子邮件或重新创建站点地图或者每4小时一次,我将如何在凤凰城或只是使用Elixir?
你能用css在悬停时强调文字吗?(与链接的行为相似,但不是实际链接.)
(文字不是链接)
我正在尝试测试希望使用phoenix框架上传文件的控制器.我按照凤凰指南(http://www.phoenixframework.org/docs/file-uploads)上的指南进行操作,它在浏览器中工作,但我在编写测试时遇到了麻烦.这是我做的:
test "POST photo" do
{ :ok, raw_file } = File.read "1528_27.jpg"
conn() |> post("/api/v1/originals", %{ :image => raw_file })
# do some assertions
end
Run Code Online (Sandbox Code Playgroud)
问题是,在控制器中,我的文件永远不会以%Plug.Upload
结构形式结束,而是以二进制形式结束.所以在测试时,我在控制器中的参数看起来像:
params: %{"image" => <<255, 216, 255, 225, 18, 180, 69, 120, 105, 102, 0, 0, 73, 73, 42, 0, 8, 0, 0, 0, 10, 0, 15, 1, 2, 0, 26, 0, 0, 0, 134, 0, 0, 0, 16, 1, 2, 0, 10, 0, ...>>},
Run Code Online (Sandbox Code Playgroud)
当我试图访问时,我的控制器会爆炸params["image"].path
.这在从浏览器上传时起作用,因为那时,我在我的参数中有预期的上传结构:
params: %{
"image" …
Run Code Online (Sandbox Code Playgroud) 我正在阅读Easy Laravel 5中的材料来学习Laravel.所以我按照指示创建了应用程序,当我访问时localhost:8000
,我看到了欢迎页面.
然后我给了名字更改命令:
php artisan app:name todoparrot
Run Code Online (Sandbox Code Playgroud)
系统响应的对象Application namespace set!
.但是现在当我重新加载时localhost:8000
,我什么都没看到,服务该应用程序的终端给了我一长串错误:
PHP Fatal error: Uncaught exception 'ReflectionException' with message 'Class todoparrot\Console\Kernel does not exist' in /media/common/htdocs/todoparrot/vendor/laravel/framework/src/Illuminate/Container/Container.php:776
Stack trace:
#0 /media/common/htdocs/todoparrot/vendor/laravel/framework/src/Illuminate/Container/Container.php(776): ReflectionClass->__construct('todoparrot\Cons...')
#1 /media/common/htdocs/todoparrot/vendor/laravel/framework/src/Illuminate/Container/Container.php(656): Illuminate\Container\Container->build('todoparrot\Cons...', Array)
#2 /media/common/htdocs/todoparrot/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(613): Illuminate\Container\Container->make('todoparrot\Cons...', Array)
#3 /media/common/htdocs/todoparrot/vendor/laravel/framework/src/Illuminate/Container/Container.php(229): Illuminate\Foundation\Application->make('todoparrot\Cons...', Array)
#4 /media/common/htdocs/todoparrot/vendor/laravel/framework/src/Illuminate/Container/Container.php(773): Illuminate\Container\Con in /media/common/htdocs/todoparrot/vendor/laravel/framework/src/Illuminate/Container/Container.php on line 776
Run Code Online (Sandbox Code Playgroud)
现在我甚至无法运行artisan
,因为我一直得到同样的错误.知道因为这个极其简单的变化可能会被打破吗?
我想知道是否有一种神奇的方法来使用这种情况:
如果我通过AJAX请求调用页面,控制器将返回一个JSON对象,否则它将返回一个视图,我试图在我的所有控制器上执行此操作而不更改每个方法.
例如,我知道我可以这样做:
if (Request::ajax()) return compact($object1, $object2);
else return view('template', compact($object, $object2));
Run Code Online (Sandbox Code Playgroud)
但我有很多控制器/方法,我更喜欢改变基本行为,而不是花时间改变所有这些.任何的想法 ?
我想使用Guzzle来检查是否存在远程文件.
这是我目前正在检查的一个例子:
/**
* @return boolean
*/
function exists()
{
// By default get_headers uses a GET request to fetch the headers.
// Send a HEAD request instead
stream_context_set_default(
array(
'http' => array(
'method' => 'HEAD'
)
)
);
// Get the file headers
$file_headers = @get_headers($this->file);
// Check file headers for 404
if($file_headers[0] == 'HTTP/1.1 404 Not Found')
return false; // File not available.
return true; // File is available!
}
Run Code Online (Sandbox Code Playgroud)
但是,由于我已经在其他地方使用Guzzle,我认为我可以让它更漂亮,更具可读性.
我是否正确地想到了这一点?我怎么做到这一点?
我希望用户能够对表单字段进行排序(又名properties
)
我在简单的排序演示中设置了几乎与卡片源代码相同的代码.没有控制台警告或错误,我无法弄清楚为什么这不起作用.我既不能拖也不能放弃任何东西.
import EditForm from './Forms/EditForm.js';
var id = $('#form').data('id');
var source = `/api/forms/${id}?include=type,properties.type`;
React.render(
<EditForm source={source} />,
document.getElementById('form')
);
Run Code Online (Sandbox Code Playgroud)
import React from 'react/addons';
import update from 'react/lib/update';
import Property from './Property.js';
var EditForm = React.createClass({
mixins: [ React.addons.LinkedStateMixin ],
getInitialState: function() {
return {
id: null,
name: null,
slug: null,
properties: []
}
},
componentDidMount: function() {
this.getFormFromServer();
},
getFormFromServer: function () { …
Run Code Online (Sandbox Code Playgroud) 假设我有一个被软删除的模型并具有以下场景:
// EXISTING soft-deleted Model's properties
$model = [
'id' => 50,
'app_id' => 132435,
'name' => 'Joe Original',
'deleted_at' => '2015-01-01 00:00:00'
];
// Some new properties
$properties = [
'app_id' => 132435,
'name' => 'Joe Updated',
];
Model::updateOrCreate(
['app_id' => $properties['app_id']],
$properties
);
Run Code Online (Sandbox Code Playgroud)
Joe Original
现在是Joe Updated
吗?
或者是否有已删除的记录和新Joe Updated
记录?
我试图显示绑定到我的用户模型的bootstrap格式化表单.但是,表单模型绑定似乎只有在我使用未使用引导程序样式格式化的输入字段时才能解决.
这是没有bootstrap类的一个,当我打开表单时,它完美地显示了我在db中的内容:
{{ Form::model($user) }}
{{ Form::label('name', 'Vorname:')}}
{{ Form::text('name')}}
Run Code Online (Sandbox Code Playgroud)
这是此表单的第二个输入,现在使用bootstrap类.这个不显示数据库内容.
{{ Form::label('sirname', 'Nachname:')}}
{{ Form::text('sirname', '', array('class'=>'form-control'))}}
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?有没有办法同时使用表单模型绑定和样式输入与引导类?
任何帮助,将不胜感激.
谢谢!
有没有办法在Elixir中动态声明原子?
喜欢str = "aaa"
和我们想创建一个叫做的原子:aaa
.