小编hit*_*ani的帖子

在Ruby on Rails中渲染验证错误

在模型中说任务,我有以下验证

 validates_presence_of :subject, :project, :user, :status
Run Code Online (Sandbox Code Playgroud)

如何使用其他控制器为这些验证呈现错误消息.

在我使用的CustomController里面,

Task.create(hash)
Run Code Online (Sandbox Code Playgroud)

在hash中传递nil值会产生以下错误,

 ActiveRecord::RecordInvalid in CustomController#create

 Validation failed: Subject can't be blank
Run Code Online (Sandbox Code Playgroud)

控制器的创建操作中的代码

@task = Task.create(hash)
if @task.valid?
   flash[:notice] = l(:notice_successful_update)
else
    flash[:error] = "<ul>" + @task.errors.full_messages.map{|o| "<li>" + o + "</li>" }.join("") + "</ul>"
end
redirect_to :back
Run Code Online (Sandbox Code Playgroud)

如何向用户呈现错误消息.

任务模型已经构建并呈现正确的消息.我想从插件中使用它的功能.

ruby-on-rails ruby-on-rails-plugins ruby-on-rails-3

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

Angular ui.bootstrap分页 - 当前页面未更新/观看不起作用

我有一个pagination内部dialog两个指令都是ui.bootstrap.问题是,$watch它不适用于currentPage成员.

现在,类似的代码非常适用于其他页面,其中分页不在某些对话框中.

我想这个问题与此问题有关,$scope但随后currentPage在范围内可用,我可以使用在模板上显示它{{currentPage}}

请在plunker中找到代码

$scope.$watch('currentPage') 没有点击页面链接.

现在,对于解决方法,我可以使用on-select-pagepagination指令提供的回调.

例如

<pagination on-select-page="pageChanged(page)" total-items="totalItems" items-per-page = "numPerPage" page="currentPage" max-size="maxSize"></pagination>
Run Code Online (Sandbox Code Playgroud)

在我的控制器内,我可以,

$scope.pageChanged = function(page) {
  console.log(page);    
};
Run Code Online (Sandbox Code Playgroud)

但我宁愿理解为什么在这种情况下$scope.$watch不会工作.

更新:从控制台跟随的是观察者值

$$watchers: Array[1] 
0th: Object
  eq: false
  exp: "currentPage"
  fn: function (o,n){}
Run Code Online (Sandbox Code Playgroud)

angularjs angular-ui angularjs-directive

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

PHP Ratchet Wamp在发布事件上向订阅者广播

我正在开发一个Web应用程序,我需要以下场景的实时行为,

应用程序将有两种类型的用户PlayerSpectator.玩家可以加入正在进行的游戏,而观众只能观看比赛.

游戏将由管理员用户初始化.

观众基本上可以看到加入游戏的人员名单.当然,当玩家断开连接或新玩家加入游戏观众时,这需要是实时意义的.

总而言之,请考虑以下示例

Spectator_1 joins Clan_101 
Spectator_2 joins Clan_201

Player_1 joins Clan_101 // Need to broadcast this event to Spectator_1
Player_2 joins Clan_101 // Need to broadcast this event to Spectator_1
Player_1 disconnects Clan_101 // // Need to broadcast this event to Spectator_1

Player_11 joins Clan_201 // Need to broadcast this event to Spectator_2
Player_12 joins Clan_201 // // Need to broadcast this event to Spectator_2
Run Code Online (Sandbox Code Playgroud)

考虑到正在进行的游戏作为主题/频道(Ratchet\Wamp\Topic),我需要向观众播放以下事件player …

php phpwebsocket ratchet wamp-protocol

6
推荐指数
1
解决办法
2111
查看次数

Redmine 插件 - 每次代码更改后都需要重新启动

我正在 redmine 上开发一些插件(使用 Ruby on Rail 编写的项目管理 Web 应用程序)。

对于我对插件代码(例如 view.html.erb 文件)所做的每一次更改,我都必须重新启动 redmine(应用程序)服务器。这是因为,它默认在生产模式下运行。

在开发模式下运行应用程序可以解决这个问题吗?

如果是,我如何更改其运行模式或覆盖此行为,以便根据每个请求加载类(是的,这不会高效,但有利于开发)并且对代码的更改会反映出来,而无需重新启动应用程序应用程序服务器(在本例中为redmine)

我尝试将这一行添加到environment.rb文件中

ENV['RAILS_ENV'] ||= 'development'
Run Code Online (Sandbox Code Playgroud)

还尝试了下面发布的答案/评论,但它们没有解决我的问题。

任何可行的解决方案都会有很大帮助。

谢谢。

其他相关信息:

它使用 Rails 2.3.14 并使用 bitnami stack 安装

ruby-on-rails redmine ruby-on-rails-3

5
推荐指数
1
解决办法
4076
查看次数

从安全(https)重定向到不安全的内容(http)

我为我的应用程序安装了一些自签名证书,因此它运行在https上.

https://xyz/redmine

我想从我的应用程序中调用一些不安全但未签名的URL.

说,

http:9292//something/faye

浏览器在运行不安全内容时出错

如果我让其他服务器在安全模式下运行,让我们说它运行

https:9292//something/faye

然后,除非用户在浏览器中添加例外,否则将无法访问该URL(因为我使用的是自签名证书)

如何从https重定向或调用http或者我是否可以以编程方式在浏览器中添加异常,以便用户无需添加它.

指针?

apache http ssl-certificate

5
推荐指数
1
解决办法
1424
查看次数

d3.js - 带刻度的时间刻度,以毫秒为单位

我需要绘制一个折线图,其中x轴将有代表时间的刻度,以毫秒为单位.

对于x-scale,我正在使用 d3.time.scale()

var xScale = d3.time.scale()
    .range([0, width])
Run Code Online (Sandbox Code Playgroud)

x轴看起来像:

var xAxis = d3.svg.axis()
    .scale(xScale)   
    //.ticks(d3.time.second, 1)
    .orient("bottom")        
    .tickFormat(d3.time.format("%H:%M %L"));
Run Code Online (Sandbox Code Playgroud)

但是x轴上的值/刻度不会如预期那样生成.

带时标的x轴

x轴的数据是日期对象,它们包含以下值(样本数据)

13:25:6 794 (%H:%M%S %L)
13:25:6 898 
13:25:6 994 
13:25:7 95 
13:25:7 194 
13:25:7 295 
13:25:7 395 
13:25:7 495 
13:25:7 595 
13:25:7 710 
13:25:7 795 
13:25:7 895
13:25:7 995 
13:25:8 95 
13:25:8 195 
13:25:8 294
13:25:8 395 
13:25:8 495
13:25:8 594
13:25:8 795 
Run Code Online (Sandbox Code Playgroud)

但是,如果我采用线性比例d3.scale.linear() 生成的Ticks遵循预期的系列.

带有线性刻度的x轴

什么是使用time scale具有毫秒细节的数据的正确方法.

如何以秒为单位的滴答间隔:毫秒?

编辑:

另外,如何每隔几毫秒说每隔500毫秒就有一个滴答声?

有一个API,d3.time.second但没有像d3.time.millisecond.我该如何添加一个?

使用时间尺度的 …

d3.js nvd3.js

5
推荐指数
1
解决办法
6717
查看次数

javascript相当于java的Map.getKey()

我在JavaScript中有一个地图或说一个关联数组的结构:

var myMap = {"one": 1, "two": 2, "three": 3};
Run Code Online (Sandbox Code Playgroud)

要获取与给定值对应的键,我必须遍历地图:

function map_test(value) {
  var myMap = {"one": 1, "two": 2, "three": 3};   
  for (key in myMap) {
    if (myMap[key] == value) {
       alert(key);
       break;
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

是否有一些像Java的功能Map.getKey() 或更好的获取密钥的方法?

javascript data-structures

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

PHPExcel在AWS上运行代码时写入垃圾字符.

我面临着PHPExcel excel下载代码的问题.下载代码正在一台服务器(netcore服务器)上运行,但是同样的代码集在AWS server上无法运行.任何一个帮我弄清楚可能是什么问题?以下是phpexcel下载代码:

error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
date_default_timezone_set('Europe/London');

if (PHP_SAPI == 'cli')
    die('This example should only be run from a Web Browser');

/** Include PHPExcel */
require_once '../Classes/PHPExcel.php';


// Create new PHPExcel object
$objPHPExcel = new PHPExcel();

// Set document properties
$objPHPExcel->getProperties()->setCreator("Maarten Balliauw")
                             ->setLastModifiedBy("Maarten Balliauw")
                             ->setTitle("Office 2007 XLSX Test Document")
                             ->setSubject("Office 2007 XLSX Test Document")
                             ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")
                             ->setKeywords("office 2007 openxml php")
                             ->setCategory("Test result file");


// Add some data
$objPHPExcel->setActiveSheetIndex(0)
            ->setCellValue('A1', 'Hello') …
Run Code Online (Sandbox Code Playgroud)

php content-type phpexcel

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

如何使用哈希数组

[[{"Postponed"=>10}], [{"Low"=>3}], [{"Medium"=>4}], [{"High"=>5}]]
Run Code Online (Sandbox Code Playgroud)

是数组

如何获取与特定值对应的值.

说高回报5.或者如何将这个哈希数组转换为数组,以便搜索变得容易.

我试过了:

find_all { |v| v['name'] == "Low" } 
Run Code Online (Sandbox Code Playgroud)

但它说:

cant convert String to Integer  
Run Code Online (Sandbox Code Playgroud)

请提供一些指导

ruby ruby-on-rails

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

在rails中一对一或零关联

模型I

class TimeLog < ActiveRecord::Base
    has_one :custom_time_fields,  :dependent => :destroy
end
Run Code Online (Sandbox Code Playgroud)

模型II

class CustomTimeFields <  ActiveRecord::Base
   belongs_to :time_log
end
Run Code Online (Sandbox Code Playgroud)

以上设计就数据库而言

timelogs表+ custom_time_field_id(外键)

custom_time_fields

因此,当我删除时间日志条目时,其关联的"custom_time_field"将被rails自动删除

但我想要数据库设计如下

表I:

time_logs

表二

custom_time_fields(将time_log_id作为外键)

表I将具有表II的零或一个关联

我如何在Rails模型中表示上述数据库设计,以便在我删除time_log时,自动删除关联的custom_time_field条目.

ruby-on-rails ruby-on-rails-3

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

无法将prettyfaces与jsf集成

我需要将漂亮的面孔与我的jsf 2.0,primefaces应用程序集成,但它会带来一些麻烦.

正如在入门中所提到的,我在我的web.xml中放置了以下内容,在lib文件夹中添加了所需的jar

<filter>
  <filter-name>Pretty Filter</filter-name>
  <filter-class>com.ocpsoft.pretty.PrettyFilter</filter-class>
  <async-supported>true</async-supported>
 </filter>

 <filter-mapping>
    <filter-name>Pretty Filter</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>FORWARD</dispatcher>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>ERROR</dispatcher>
 </filter-mapping>
Run Code Online (Sandbox Code Playgroud)

我的web.xml中的其他项目

  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <context-param>
        <param-name>com.sun.faces.expressionFactory</param-name>
        <param-value>org.jboss.el.ExpressionFactoryImpl</param-value>
  </context-param>
  <context-param>
        <param-name>org.primefaces.extensions.DELIVER_UNCOMPRESSED_RESOURCES</param-name>
        <param-value>false</param-value>
  </context-param>
Run Code Online (Sandbox Code Playgroud)

但我得到以下错误:

Invalid content was found starting with element 'async-supported'. One of '{"http://java.sun.com/xml/ns/javaee":init-param}' is expected

如果我<async-supported>从项目构建中删除 ,项目编译但映射不起作用.

pretty-config.xml 与入门时相同.

我需要在web.xml中提到映射文件的名称/路径,即pretty-config.xml吗?

编辑:

我正在使用Glassfish服务器3.

jsf-2 prettyfaces

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

合并数组而不会丢失原始顺序,ruby

我有一个看起来像这样的数组结构:

a=[
  [['a','A'],['b','B'],['c','C']],
  [['d','D'],['e','E'],['f','F']]
]
Run Code Online (Sandbox Code Playgroud)

如何合并内部两个数组,以便新结构将是数组数组

[
 ['a','A'],['b','B'],['c','C'],['d','D'],['e','E'],['f','F']
]
Run Code Online (Sandbox Code Playgroud)

试着

a.inject([]){|k,v| v | k} # but order gets changed
=> [["d", "D"], ["e", "E"], ["f", "F"], ["a", "A"], ["b", "B"], ["c", "C"]]
Run Code Online (Sandbox Code Playgroud)

如何在不丢失订单的情况下获得理想的结果.

提示,评论,建议,好吗?

日Thnx.

ruby arrays merge

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

pdflib 某些 unicode 字符未呈现

我需要使用pdflib 版本 8 编写pdf ,其中我需要打印某些 unicode 字符

但是它们没有被渲染,而是在下面显示字符

欧元

可能是什么原因以及如何渲染角色?

下面是代码

$p = PDF_new();

/*  open new PDF file; insert a file name to create the PDF on disk */
if (PDF_begin_document($p, "", "") == 0) {
    die("Error: " . PDF_get_errmsg($p));
}
PDF_set_info($p, "Creator", "Abc");
PDF_set_info($p, "Author", "Abc");
PDF_set_info($p, "Title", "Test");
pdf_set_option($p, "textformat=utf8");

PDF_begin_page_ext($p, 595, 842, "");
$fontdir = '/usr/share/fonts/truetype/dejavu';
pdf_set_parameter($p, "FontOutline", "Dejavu=$fontdir/DejaVuSans.ttf");
$font = pdf_load_font($p, "Dejavu", "unicode","");

PDF_setfont($p, $font, 24.0);
PDF_set_text_pos($p, 50, 700);
pdf_show_xy($p,"dejb €",100,490);
pdf_show_xy($p,"dejb  ",200,490); …
Run Code Online (Sandbox Code Playgroud)

php unicode truetype pdflib

0
推荐指数
1
解决办法
1711
查看次数