小编dsc*_*her的帖子

Rails路由:name而不是:id url参数

我有一个名为'companies'的控制器,而不是每个公司的url用以下表示:id我想让url使用他们的:name,例如:url/company/microsoft而不是url/company/3.

在我的控制器中我假设我会

 def show
   @company = Company.find(params[:name])
 end
Run Code Online (Sandbox Code Playgroud)

由于url中没有任何其他参数,我希望rails能理解:name引用了我公司模型中的:name列.我认为这里的魔法将在路线中,但我仍然坚持这一点.

routes ruby-on-rails

30
推荐指数
5
解决办法
3万
查看次数

HTML表单HIdden字段添加了Javascript而不是POSTing

我有一个表单,用户可以在其中输入链接,单击"添加链接"按钮,然后该链接(通过jQuery)作为隐藏字段添加到表单.问题是,当我提交表单时,它不是POST.这真的让我很困惑.问题是,如果我将隐藏字段硬编码到表单中,它会被发布,但我的功能由于某种原因不起作用.隐藏字段会被添加到我的表单中,因为我可以看到Firebug,但它只是没有发送POST数据.

需要注意的是,我在Javascript中使用一个数组来保存元素,直到提交表单为止,也会明确地发布它们以便用户查看他们添加的内容.我在元素的"name"字段上使用[]表示法,因为我希望链接在PHP中提供给数组.

这是链接创建,它被附加到我的表单:

        function make_hidden_element_tag(item_type, item_content, item_id)
{
    return '<input type="hidden" name="' + item_type + '[]" id="hidden_link_' + item_id + '" value="' + item_content + '"/>';
Run Code Online (Sandbox Code Playgroud)

有没有人知道为什么这可能不会发布.如上所述,任何与上述几乎完全相同的硬编码标签工作正常,只是这个标签不起作用.以下是我使用jquery将标记添加到表单的方法:

$('#link_td').append( make_hidden_element_tag('links', link, link_array.length - 1));
Run Code Online (Sandbox Code Playgroud)

我正在使用Kohana 3框架,虽然我不确定是否对此有任何影响,因为从HTML添加到页面并按下提交按钮时它实际上并没有做任何事情.

html javascript forms jquery

11
推荐指数
2
解决办法
6983
查看次数

在函数和多个脚本(PHP)中使用单例数据库类 - 最好使用方法

我有一个单一的数据库连接,我得到:

$ dbConnect = myDatabase :: getInstance();

这很容易.我的问题是在函数和类中使用此连接的最少修辞和合法方式是什么?将变量声明为global,将其传递给每个函数,和/或在每个函数中重新创建此变量似乎很愚蠢.还有另一个答案吗?

显然我是一个菜鸟,我可以用10种不同的方式解决这个问题,其中没有一个对我很有吸引力.如果我可以在任何函数中访问$ dbConnect变量而不需要将其声明为全局或传入它,那将会容易得多.我知道我可以将变量添加到$ _SERVER数组中...是否有问题这样做?这似乎有点不合适.

另一个快速问题:这样做是不好的做法:

$ result = myDatabase :: getInstance() - > query($ query);

从一个函数直接?

php scope database-connection

8
推荐指数
1
解决办法
1094
查看次数

Textmate代码完成问题

我知道ESC键确实代码完成,但有没有办法获得一个弹出窗口(我猜的工具提示),它显示了一段代码的所有可能选择?例如,在编写Javascript以获取可用操作列表时会很好.我用过的其他应用程序就像Coda一样.我想查看Textmate,但我很难找到这个缺失的功能,我觉得这很有价值,特别是作为一个相当新的程序员,他喜欢看看有哪些选项,因为它对我来说也是一个学习工具.我以为我找到了一个像我正在寻找的插件,Dialog2,但它似乎已经消失了,因为它本来是内置于从未发布过的TM2.

我已经对这个问题的答案进行了一些调查,并认为这是我的下一个最佳选择.谢谢.

ide textmate development-environment

3
推荐指数
1
解决办法
4428
查看次数

将JSON(jQuery)发送到PHP并对其进行解码

我不能为我的生活弄清楚我做错了什么.看起来它应该很简单,因为我找不到其他人有这个问题,但我不知道通过javascript(jQuery)发送基本数据到PHP并解码它.为简单起见,这就是我所拥有的:

JAVASCRIPT

var json_data = { "name" : "john doe" };

$.ajax({
    type: "POST",
    url: "../bin/process.php",
    dataType: "json",
    data: json_data
    });
Run Code Online (Sandbox Code Playgroud)

和我的PHP文件

$arr = json_decode("json_data", true);

$fp = fopen('data.txt', "w");
fwrite($fp, $arr['name']);
fclose($fp);
Run Code Online (Sandbox Code Playgroud)

我正在写的文件最终没有任何内容.如果我这样做:

fwrite($fp, 'test');
Run Code Online (Sandbox Code Playgroud)

我得到一个带有单词test的文件,但无论我做什么,我都没有得到我发送的json数据.

有人可以分享A到Z的完整示例.感谢您的帮助.

javascript ajax encoding json

3
推荐指数
1
解决办法
5765
查看次数

使用send方法和点方法之间的区别

本书The Well Grounded Rubyist声明您可以使用此send方法来检查object(ticket)是否响应用户输入:

if ticket.respond_to?(request) 
  puts ticket.send(request)
else
  puts "No such information available"
end  
Run Code Online (Sandbox Code Playgroud)

上面的代码和写作之间有什么区别:

if ticket.respond_to?(request) 
  puts ticket.request
else
  puts "No such information available"
end  
Run Code Online (Sandbox Code Playgroud)

如果ticket响应用户输入,为什么不直接使用点符号来调用它?

ruby

2
推荐指数
1
解决办法
206
查看次数