多天以来,我试图理解为什么这样一个简单的链接:
link_to 'My Link', my_path(format: :js), remote: true
Run Code Online (Sandbox Code Playgroud)
总是返回完整的HTML文档,而不是执行我的file.js.erb中的javascript:
alert('hello world')
Run Code Online (Sandbox Code Playgroud)
[...]
经过几个小时的调试后,我发现原因
当我重命名我的主布局文件时,例如:application.haml它呈现完整的HTML文档:
Started GET "/my_path/2.js" for 127.0.0.1 at 2016-03-05 12:28:20 +0100
Processing by MyController#show as JS
Rendered my_path/show.js.erb within layouts/application (0.1ms)
Rendered layouts/_sidebar.html.erb (18.9ms)
Rendered layouts/_headbar.haml (0.5ms)
Rendered layouts/_flash_messages.html.haml (0.2ms)
Rendered layouts/_footer.html.erb (0.1ms)
Completed 200 OK in 102ms (Views: 59.3ms | ActiveRecord: 2.9ms)
Run Code Online (Sandbox Code Playgroud)
当我重命名我的主要布局文件时,例如:application.html.haml它正确执行javascript并运行我的hello world弹出窗口:
Started GET "/my_path/8.js" for 127.0.0.1 at 2016-03-05 12:28:34 +0100
Processing by MyController#show as …Run Code Online (Sandbox Code Playgroud) 我正在尝试将表示JSON对象的字符串转换为真正的JSON对象,json.loads但它不会转换整数:
(在初始字符串中,整数总是字符串)
$> python
Python 2.7.9 (default, Aug 29 2016, 16:00:38)
[GCC 4.2.1 Compatible Apple LLVM 7.3.0 (clang-703.0.31)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import json
>>> c = '{"value": "42"}'
>>> json_object = json.loads(c, parse_int=int)
>>> json_object
{u'value': u'42'}
>>> json_object['value']
u'42'
>>>
Run Code Online (Sandbox Code Playgroud)
而不是{u'value': u'42'}我喜欢它成为{u'value': 42}.我知道我可以浏览整个对象,但我不想这样做,手动执行它并不是很有效,因为这个parse_int参数存在(https://docs.python.org/2/library/json. html#json.loads).
感谢皮尔斯的主张:
Python 2.7.9 (default, Aug 29 2016, 16:00:38)
[GCC 4.2.1 Compatible Apple LLVM 7.3.0 (clang-703.0.31)] on …Run Code Online (Sandbox Code Playgroud) 我正在研究ZF2项目,我的目录中有一些模块:
/module/module1
/module/module2
/module/module3
/module/module4
[...]
Run Code Online (Sandbox Code Playgroud)
但是,在每个模块中我也分别有一个特定的布局:
/module/module1/view/layout/layout.phtml
/module/module2/view/layout/layout.phtml
/module/module3/view/layout/layout.phtml
/module/module4/view/layout/layout.phtml
Run Code Online (Sandbox Code Playgroud)
我的问题是:如何为我的所有模块设置通用布局,而不必在需要时修改每个布局.
谢谢
我正在使用ZendSkeletonApplication,我有这个目录:
/home/mydir/vendor/My/library/My/Helper
Run Code Online (Sandbox Code Playgroud)
其中包含ff.php(分别/home/mydir/vendor/My/library/My/Helper/ff.php)
我的代码在ff.php:
<?php
namespace My\Helper;
class FF {
public function test() {
echo "success !";
}
}
Run Code Online (Sandbox Code Playgroud)
而我的控制器:
<?php
namespace Application\Controller;
use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;
use My\Helper\FF;
class IndexController extends AbstractActionController
{
public function indexAction()
{
FF::test();
return new ViewModel();
}
}
Run Code Online (Sandbox Code Playgroud)
我的module.php:
public function getAutoloaderConfig()
{
return array(
'Zend\Loader\StandardAutoloader' => array(
'namespaces' => array(
__NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
'My' => __DIR__ . '/../vendor/My/library/My'
),
),
);
}
Run Code Online (Sandbox Code Playgroud)
我收到这个错误:Fatal error: …
php ×2
haml ×1
html ×1
javascript ×1
json ×1
layout ×1
parsing ×1
python ×1
python-2.7 ×1
ujs ×1