我有一个页面列出了所有具有可排序标题和分页的项目.
path:
/projects?order=asc&page=3&sort=code
Run Code Online (Sandbox Code Playgroud)
我选择编辑其中一个项目
path:
projects/436/edit
Run Code Online (Sandbox Code Playgroud)
当我单击该页面上的save时,它会调用项目控制器/更新方法.在我更新代码之后,我想在我点击编辑特定项目之前重定向到我所在的路径.换句话说,我希望使用相同的排序在同一页面上.
我看到了link_to(:back)并认为:back可以在redirect_to(:back)中工作,但那是不行的.
puts YAML::dump(:back)
yields the following:
:back
Run Code Online (Sandbox Code Playgroud)
关于如何让这个工作的任何想法.这似乎是一个容易解决的问题,但我是RoR的新手.
我需要从JSON结果实现随机化.
JSON的格式是两个对象:
结果:
问题(对象)
[Object { id="4c6e9a41470b19_96235904", more...},
Object { id="4c784e6e928868_58699409", more...},
Object { id="4c6ecd074662c5_02703822", more...}, 6 more...]
Run Code Online (Sandbox Code Playgroud)
主题(对象)
[Object { id="3jhf3533279827_23424234", more...},
Object { id="4634663466cvv5_43235236", more...},
Object { id="47hf3892735298_08476548", more...}, 2 more...]
Run Code Online (Sandbox Code Playgroud)
我想随机化问题对象和主题对象内的对象的顺序.
我有一个带有download.php页面的系统.页面从DB记录中获取并识别并加载文件,然后将其提供.我注意到有几个实例在短时间跨度(20ms)内多次请求文件.人类投入过快的时间.有很多实例,下载程序运行正常.但是,在仔细研究下载器的用法时,我确实看到了一些有趣的行为.
例如,IP地址xxx.xxx.xxx.xxx(德国xxxxxx.de拥有的范围内的一个)通过Google进入该网站.他们浏览了一下,然后来到http://site.com/xxxx/press+125.php页面上午9:04:23,他们发出了/download.php?id=/ZZ/n+aH55Y=(PDF)的请求.仅此一点并不是什么大问题.然而,有趣的是,服务器似乎一直专注于提供该请求.在日志中,请求首先在9:09:48到9:10:00之间完成.看起来用户必须已经厌倦了在此期间等待并再次请求文档两次.在09:14:47和09:15:00之间再次出现相同的请求,除了它是从上午9:04:43开始,比第一个请求晚20ms.然后它会弹出第三次,请求在09:05:06 09:19:55到09:19:58之间完成!
我对那份文件持怀疑态度.在查看日志时,我看到其他实例需要服务器一段时间来处理该特定文件.查看zzz.zzz.zzz.zzz [不同于上述]的请求列表,查看文件/download.php?id=/ZZ/n+aH55Y=(与之前相同的文档):
请求时间完成时间04:32:43 04:33:36 04:32:50 04:33:36 04:32:51 04:33:38 04:33:05 04:33:38 04:33:34 04 :33:42 04:33:05 04:33:42
所以肯定会发生一些事情.它是否与这个特定文件有关,绊倒服务器,download.php页面的代码,或者如果我们只是看到一些服务器级别过载的证据,因为它实时播放我还不确定.
公平地说,还有其他人下载/download.php?id=/ZZ/n+aH55Y=(相同的PDF)而没有错误.然而,有趣的是,多个进程似乎只发生在这个文件中,然后只有在通过页面http://site.com/press+125.php访问时才会发生 .如果代码中存在某些错误导致系统触发占用服务器的多个下载请求,则需要进一步调查.
我不知道这个按+ 125.php是不是一个兔子洞,但有一种奇怪的意见.
有任何想法吗?我完全没有想法.Apache最大化了吗?像这样的东西.
///DOWNLOAD.php
$file = new files();
$file->comparison_filter("id", "=", $id); //sql to load
if ($file->load()) {
$file->serve();
}
//FILES
function serve() {
if ($this->is_loaded) {
if (file_exists($this->get_value("filename"))) {
if ($this->get_value("content_type") != "") {
header("Content-Type: " . $this->get_value("content_type"));
}
header("Content-Length: " . filesize($this->get_value("filename")));
if ($this->get_value("flag_image") == 0 || $this->get_value("flag_image") == false) {
header("Cache-Control: private"); …Run Code Online (Sandbox Code Playgroud) 看看SO,我看到使用RoR货币的首选方法是使用decimal(8,2)并使用number_to_currency()输出它们;
我可以从数据库中获取我的数据,但是我遇到了让它们进入的问题.
在我的更新操作中,我有以下行:
if @non_labor_expense.update_attributes(params[:non_labor_expense])
puts YAML::dump(params)
Run Code Online (Sandbox Code Playgroud)
转移参数显示正确的值.xx,yyy.zz,但存储在数据库中的内容仅为xx.00
我需要做些什么才能考虑到可能有逗号而用户可能无法输入.zz(分数).一些正则表达式和逗号?如果是.2与.20,你将如何处理小数?
必须有内置或至少更好的方式.
我的迁移(我不知道这是否有帮助):
class ChangeExpenseToDec < ActiveRecord::Migration
def self.up
change_column :non_labor_expenses, :amount, :decimal, :precision => 8, :scale => 2
end
def self.down
change_column :non_labor_expenses, :amount, :integer
end
end
Run Code Online (Sandbox Code Playgroud) 我需要根据另一个字段的值为表单字段设置一些验证.
例如,如果专业是博士,那么要求专业不是空白('')或没有('无').
$professionOptions = array(
'' => 'Choose Profession',
'Dr.' => 'Dr.',
'zzz' => 'zzz',
'None' => 'None');
$this->validator->field('profession')->inArray(array_keys($professionOptions)) ->message('Invalid profession.');
$specialtySelectOptions = array(
'' => 'Choose Specialty',
'Heart' => 'Heart',
'Lungs' => 'Lungs',
'Feet' => 'Feet',
'Nose' => 'Nose');
Run Code Online (Sandbox Code Playgroud)
我如何使以下依赖于职业?
$this->validator->field('specialty')->inArray(array_keys($specialtySelectOptions))
->message('Invalid salutation.');
Run Code Online (Sandbox Code Playgroud) 我继承了一个Drupal5网站,并负责进行一些更改,但我无法弄清楚从哪里开始寻找.
在许多页面上,管理员可以使用一个菜单,允许您执行某些操作:
概述专家资源和工具现场新闻活动课程多媒体编辑跟踪工作流程设置
但是,在某些部分中,有不同的选项:预览布局设置布局设置高级上下文内容导出
我需要在第二个菜单中添加(编辑,跟踪,工作流,设置),但我不知道该怎么做.
我在page.tpl.php中看到$ tabs的区域,但我无法弄清楚它是如何构建的.
据我所知,主题基于Zen STARTERKIT主题.