小编Joe*_*sey的帖子

Rails - 如何在f.submit上放置确认弹出窗口?

我想<% f.submit %>在新对象表单上调用一个确认弹出窗口.有没有办法在没有javascript的情况下执行此操作?

ruby-on-rails

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

Rails/Ruby - 使用从另一个页面传递的数据预填充表单

device当从rfid部分view/cabinet/show页面导航到新表单时,如何获取值以预填充新表单? devicehas_one rfid.

来自橱柜/展示的链接:

<%= link_to "Create New Device (non-functional)", new_device_path({:id => @rfid.id, cabinet_id: @cabinet.id}), :class => "btn btn-primary" %>
Run Code Online (Sandbox Code Playgroud)

devices_controller,我想有create方法工作的时候是0或2 PARAMS传递:

def create(options)

if options[:cabinet_id] and options[:id]
  @rfid = Rfid.find(params[:id])
  @device = Device.new(params[:device])
  @device.rfid = @rfid
  @device.cabinet_id = :cabinet_id

else
  @device = Device.new(params[:device])
  @cabinet = Cabinet.find(params[:device][:cabinet_id])
  @device.row_id = @cabinet.row_id
end
  respond_to do |format|
    if @device.save and @cabinet.refresh_capacity_used and @cabinet.refresh_consumption
      format.html { redirect_to @device, notice: 'Device was successfully created.' }
      format.json …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails

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

动态th:多个属性的attr定义

我正在尝试对表单的表单字段进行泛化.我想要有不同的parsley.js验证要求.html中简单字段的示例可能是:required 有2个非标准属性.

我尝试了以下方法,但得到的错误是:attr定义> 1次:

<input type=text required data-parsley-range=[1,100] />
Run Code Online (Sandbox Code Playgroud)

如何在th:attr中定义> 1个属性,只是插值?

奖金,我如何有条件地放置attrs,例如data-parsley-range,如果我可以避免它,我根本不想打印.范围也一样.

谢谢!

thymeleaf

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

如何构建Rails POST方法的邮递员请求

无论我如何格式化此请求的原始部分,我都无法避免下面的解析错误.

我有一个带有传递规范的create方法的Rails API,以说明控制器消息是合理的:

describe "POST power_up" do

    let!(:client) { FactoryGirl.create :client, name: "joe", auth_token: "asdfasdfasdfasdfasdfasdf" }

    it "should create and save a new Power Up" do

      expect { post :create, format: :json, power_up: FactoryGirl.attributes_for(:power_up) }.to change(V1::PowerUp, :count).by(1)
    end

  end
Run Code Online (Sandbox Code Playgroud)

我正在使用Postman尝试POST.无论我尝试什么,我都会收到错误:

Started POST "/v1/power_ups.json" for 127.0.0.1 at 2014-08-30 18:05:29 -0400
Error occurred while parsing request parameters.
Contents:

{
  'name': 'foo',
  'description': 'bar'
}


ActionDispatch::ParamsParser::ParseError (795: unexpected token at '{
  'name': 'foo',
  'description': 'bar'
}
Run Code Online (Sandbox Code Playgroud)

邮差要求设置:

邮递员请求的屏幕上限

我也尝试过:

{
  'power_up': {
    'name': 'foo', …
Run Code Online (Sandbox Code Playgroud)

rest ruby-on-rails postman

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

如何使用FileChannel将一个文件的内容附加到另一个文件的末尾?

文件a.txt看起来像:

ABC
Run Code Online (Sandbox Code Playgroud)

文件d.txt看起来像:

DEF
Run Code Online (Sandbox Code Playgroud)

我正试图拿"DEF"并将其附加到"ABC",所以a.txt看起来像

ABC
DEF
Run Code Online (Sandbox Code Playgroud)

我尝试过的方法总是完全覆盖第一个条目,所以我总是最终得到:

DEF
Run Code Online (Sandbox Code Playgroud)

以下是我尝试过的两种方法:

FileChannel src = new FileInputStream(dFilePath).getChannel(); 
FileChannel dest = new FileOutputStream(aFilePath).getChannel();

src.transferTo(dest.size(), src.size(), dest);
Run Code Online (Sandbox Code Playgroud)

......我试过了

FileChannel src = new FileInputStream(dFilePath).getChannel(); 
FileChannel dest = new FileOutputStream(aFilePath).getChannel();

dest.transferFrom(src, dest.size(), src.size());
Run Code Online (Sandbox Code Playgroud)

API不清楚transferTo和transferFrom param描述:

http://docs.oracle.com/javase/7/docs/api/java/nio/channels/FileChannel.html#transferTo(long,long,java.nio.channels.WritableByteChannel)

谢谢你的任何想法.

java

7
推荐指数
2
解决办法
5452
查看次数

比较时间,忽略第二个小数的最后 3 位数字

我有测试确保时间戳不会改变。他们在我的本地环境中通过,但在构建中失败。它与“updated_at”返回的值有关,即将第二个小数的最后 3 位数字更改为 0。以下是失败的示例:

RSpec::Expectations::ExpectationNotMetError: 
expected: 2015-01-06 10:16:29.948655841 -0500
     got: 2015-01-06 10:16:29.948655000 -0500

RSpec::Expectations::ExpectationNotMetError: 
expected: 2015-01-06 10:16:31.236196108 -0500
     got: 2015-01-06 10:16:31.236196000 -0500
Run Code Online (Sandbox Code Playgroud)

如何构建断言以忽略最后 3 位数字?是否有一个时间函数只比较时间,比如分数的百位?

谢谢。

ruby rspec ruby-on-rails

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

如何从任何位置执行bash脚本?

在UNIX中,我读到将shell脚本移动到/ usr/local/bin将允许您通过只需键入"[scriptname] .sh"并按Enter键从任何位置执行脚本.

我已经移动了具有普通用户和root权限的脚本,但我无法运行它.

剧本:

#! bin/bash

echo "The current date and time is:"
date

echo "The total system uptime is"
uptime

echo "The users currently logged in are:"
who

echo "The current user is:"
who -m

exit 0
Run Code Online (Sandbox Code Playgroud)

当我尝试移动然后运行脚本时会发生这种情况:

[myusername@VDDK13C-6DDE885 ~]$ sudo mv sysinfo.sh /usr/local/bin

[myusername@VDDK13C-6DDE885 ~]$ sysinfo.sh

bash: sysinfo.sh: command not found
Run Code Online (Sandbox Code Playgroud)

unix

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

Angular.js createElement不是创建元素

我正在做一个简单的教程,无法通过一个非常简单的事情.

我想在页面加载时创建一个元素.我完全遵循了代码.我正在使用Google Chrome.以下不会创建音频元素有什么问题?:

的index.html

<!doctype html>
<html ng-app="myApp">
  <head>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script>
    <script src="js/main.js"></script>
  </head>
  <body>

    <div ng-controller="PlayerController">
        <button ng-click="play()" class="button" ng-show="!playing">Play</button>
        <button ng-click="stop()" class="button alert" ng-show="playing">Stop</button>
        Playing audio: <b>{{ playing }}</b>
    </div>

  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

main.js(在引用的位置js/main.js中)

var app = angular.module('myApp', []);

app.controller('PlayerController', ['$scope', function($scope) {
  $scope.playing = false;
  $scope.div = document.createElement("div");
  $scope.audio = document.createElement('audio');
  $scope.audio.src = 'media/sample_mpeg4.mp4';
}]);
Run Code Online (Sandbox Code Playgroud)

这是源页面检查时的样子:

<!doctype html>
<html ng-app="myApp">
  <head>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script>
    <script src="js/main.js"></script>
  </head>
  <body>

    <div ng-controller="PlayerController">
        <button ng-click="play()" class="button" ng-show="!playing">Play</button>
        <button ng-click="stop()" class="button alert" ng-show="playing">Stop</button> …
Run Code Online (Sandbox Code Playgroud)

angularjs

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

如何测试基于令牌的身份验证?

测试以下内容需要一些帮助.我正在做关于保护api的RailsCast:http://railscasts.com/episodes/352-securing-an-api?view=asciicast

我有RequestController一个before_filter检查,如果要求有一个令牌:

class RequestsController < ApplicationController
  include ActionController::MimeResponds
  include ActionController::HttpAuthentication::Token::ControllerMethods

  before_filter :restrict_access
  respond_to :json

#...

def authenticate
    return restrict_access
  end

  private
  def restrict_access
    authenticate_or_request_with_http_token do |token, options|
      ApiKey.exists?(access_token: token)
    end
  end

end
Run Code Online (Sandbox Code Playgroud)

我失败的rspec测试看起来像:

it 'responds successfully to generic request because of key protection' do
    api_key = ApiKey.create
    api_key.save!

    get :index
    request.headers["token"] = api_key.access_token
    expect(response).to be_success # test for the 200 status-code
end
Run Code Online (Sandbox Code Playgroud)

结果: expected success? to return true, got false

我不明白如何将有效的api_key注入到请求中,以便响应将评估为true.有任何想法吗?谢谢.

rspec ruby-on-rails

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

写入 Dynamo 表工作正常,但读取会引发 DynamoDBMappingException

orderRequestDao.save(new OrderRequest("5000", "body"));成功执行会在 Dynamo 中放置一条记录。任何读取返回的尝试:

[Request processing failed; nested exception is com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMappingException:
could not invoke null on class 
com.cfa.fulfillmentApi.model.OrderRequest 
with value 100 of type class java.lang.String] with root cause
Run Code Online (Sandbox Code Playgroud)

(id 为 100 的记录存在)

我正在使用以下 jars (aws.sdk.version: 1.11.86):

    <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-java-sdk</artifactId>
        <version>${aws.sdk.version}</version>
    </dependency>
    <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-java-sdk-core</artifactId>
        <version>${aws.sdk.version}</version>
    </dependency>
    <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-java-sdk-dynamodb</artifactId>
        <version>${aws.sdk.version}</version>
    </dependency>
    <dependency>
        <groupId>com.github.derjust</groupId>
        <artifactId>spring-data-dynamodb</artifactId>
        <version>4.4.1</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

DynamoDb 配置:

主分区键: id (String)

道:

@EnableScan
public interface OrderRequestDao extends CrudRepository<OrderRequest, String> {
    OrderRequest findOne(String s);
    OrderRequest save(OrderRequest or);
}
Run Code Online (Sandbox Code Playgroud)

域对象: …

spring amazon-dynamodb

4
推荐指数
2
解决办法
6125
查看次数