小编tru*_*ekr的帖子

如何导航到页面的某个部分

我有一个带链接的登录页面.如何将用户引导至其他页面的某个部分?

主页:

<a href="/sample">Sushi</a>
<a href="/sample">BBQ</a>
Run Code Online (Sandbox Code Playgroud)

样本页面:

<div id='sushi'></div>
<div id='bbq'></div>
Run Code Online (Sandbox Code Playgroud)

单击主页面中的"Sushi"或"BBQ"应该将用户导航到id sushibbq(分别)页面的div sample.

没有JQuery可以吗?我不介意使用JQuery,但使用html的更简单的解决方案也可以.

html hyperlink

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

rails button_to:disabled => true仍显示按钮

我想显示一个按钮但处于禁用状态,以向用户显示他们已经保存了一个项目.

我目前使用的东西如下:

<%= button_to 'Save', :disabled => item.is_saved? %>
Run Code Online (Sandbox Code Playgroud)

生成的html看起来像:

<form class="button-to" action="/results/save_item/748?class=buttons&amp;disabled=true" method="post"> 

<div><input type="submit" value="Save">
<input type="hidden" value="+TKyrnA9idfmCkwDycLjHIkSLNou6NMt8R4TI73RezU=" name="authenticity_token">
</div>
</form>
Run Code Online (Sandbox Code Playgroud)

这会通过设置disabled = true选项来禁用该操作.但是,仍然会显示该按钮.如果条件为真,有没有办法让按钮处于禁用状态?

谢谢

ruby-on-rails

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

独立ruby - 如何从database.yml加载不同的环境

我有一个后台进程来修改数据库中的记录.模型使用以下内容连接到数据库:

dbconfig = YAML::load(File.open('database.yml'))
ActiveRecord::Base.establish_connection(dbconfig["development"])
class Clcar < ActiveRecord::Base
 ....
end
Run Code Online (Sandbox Code Playgroud)

所有模型类都将这些行放在顶部.

我同意这是一个糟糕的做法.

  1. 有没有更好的方法来连接到模型类?如何将连接传递给模型?
  2. 我希望能够在不同的环境中运行我的后台进程,比如"生产".

我如何实现这一目标?

ruby activerecord yaml ruby-on-rails

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

Rails操作缓存用户特定记录

我是一个铁杆新手试图为我的应用程序实现缓存.我安装了memcached并在我的development.rb中配置它,如下所示:

config.action_controller.perform_caching             = true
config.cache_store = :mem_cache_store
Run Code Online (Sandbox Code Playgroud)

我有一个控制器ProductsController,它在登录时显示用户特定的产品.

class ProductsController < ApplicationController
  caches_action :index, :layout => false
  before_filter :require_user

  def index
    @user.products              
  end
end

The route for index action is: /products
Run Code Online (Sandbox Code Playgroud)

问题是,当我登录时

1)用户A第一次,rails命中我的控制器并缓存产品动作.

2)我注销并以用户B身份登录,它仍以用户A身份登录并显示用户A而非用户B的产品.它甚至没有打到我的控制器.

关键可能是路由,在我的memcached控制台中,我看到它是基于相同的密钥获取的.

20 get views/localhost:3000/products
20 sending key views/localhost:3000/products
Run Code Online (Sandbox Code Playgroud)

动作缓存不是我应该使用的吗?我如何缓存和显示用户特定的产品?

谢谢你的帮助.

memcached ruby-on-rails action-caching

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

你会如何在ruby中实现这个成语?

作为一个来自Java背景并成为Ruby新手的人,我想知道是否有一种简单的方法可以使用ruby.

new_values = foo(bar)
if new_values
  if arr
    arr << new_values
  else 
    arr = new_values
  end
end
Run Code Online (Sandbox Code Playgroud)

ruby

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

帮助jquery验证插件和复选框

我有一个复选框组,我需要唯一的名称来分别在数据库中存储值.但是,使用jquery validate插件,我无法验证名称不同的组.

<label>Would you like to compete?</label>
      <input type="checkbox"  name="compete1" value="2" class="competecheckbox" >
      <label for="compete_no">No</label>
      <input type="checkbox" name="compete2" value="1" class="competecheckbox">
      <label for="compete_yes">Yes</label>
      <div id="competeyes">
        <label class="competeyestxt" hidden=true>Which Location?</label>
        <textarea rows="4" cols="40" maxlength="2000" name="competeyestextarea" class="competeyestxt" hidden="true">
        </textarea>
      </div>
Run Code Online (Sandbox Code Playgroud)

我尝试添加

$.validator.addClassRules(
"competecheckbox", {required: true, minlength: 1});
Run Code Online (Sandbox Code Playgroud)

这种方法有效,但它显示2条错误消息.每个匹配类'competcheckbox'一个.

问题是即使用户选择了competition1,验证错误消息仍然是竞争2.

当用户选择至少一个复选框时,如何清除这两条消息?

谢谢

jquery jquery-validate

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

rails开发环境没有重新加载关于更改的视图

我对我的开发环境进行了充分的研究,现在每次修改视图或控制器时都必须重新启动服务器.这是一个很多小变化的痛苦.

现在即使我的development.rb回到原来的那个,视图,控制器也需要重新启动来查看更改.我不确定发生了什么.

任何帮助都会非常感激,因为它会减慢我的发展速度.

谢谢

这是我的environment.rb:

config.time_zone = 'Eastern Time (US & Canada)'
config.cache_classes = true
ENV['NLS_LANG']='american_america.AL32UTF8'
config.i18n.default_locale = :en
config.gem "authlogic"
config.gem "matthuhiggins-foreigner", :lib => "foreigner"
config.gem "memcache-client", :lib => "memcached"
end

require "will_paginate"
require "RedCloth"
require "authlogic"
require 'memcached'
Run Code Online (Sandbox Code Playgroud)

我的development.rb看起来像:

config.cache_classes = true
config.whiny_nils = true
config.action_controller.consider_all_requests_local = true
config.action_view.debug_rjs                         = true
config.action_controller.perform_caching             = false
#cache only the models to avoid nil.include? errors in development mode.
config.load_once_paths += %W(  #{RAILS_ROOT}/app/models  )

# Don't care if the mailer can't send …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails

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

jquery验证错误消息 - 更改消息的位置

我正在使用jquery验证插件.我有一个看起来像的HTML:

<h2>Select A City</h2>

<select class="required city-selection-list" id="city_city_id" name="city[city_id]">
  <option value=""></option>

  <option value="146">San Francisco Bay Area</option>
  <option value="147">San Francisco</option>
  <option value="311">Los Angeles</option>
  <option value="344">New York</option>
  <option value="395">San Diego</option>
 </select>
Run Code Online (Sandbox Code Playgroud)

错误消息当前显示选择框之后.这会导致我的页面向左移动并弄乱它的外观.

如何在选择城市而不是内联后显示它.

谢谢你的帮助.

validation jquery plugins

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

testcontainers - 无法连接到通用容器的公开端口

我正在尝试使用 GenericContainer 启动自定义 docker 容器。\n容器启动后,我想从测试类执行 http 请求。\n我看到此错误:

\n
INFO: Exposed ports: 9000\n\njava.net.ConnectException: Failed to connect to localhost/0:0:0:0:0:0:0:1:9000\n    at org.testcontainers.shaded.okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.java:265)\n\nCaused by: java.net.ConnectException: Connection refused (Connection refused)\n    at java.base/java.net.PlainSocketImpl.socketConnect(Native Method)\n\n
Run Code Online (Sandbox Code Playgroud)\n

该端口似乎已绑定:

\n
docker ps -a\nCONTAINER ID   IMAGE                                            COMMAND                  CREATED              STATUS              PORTS                                                                                      NAMES\nf311467dbd25   foo.bar.com/abc-def/testcontainer:4.30.65   "/bin/sh -c 'exec /o\xe2\x80\xa6"   About a minute ago   Up About a minute   0.0.0.0:55164->9000/tcp, :::55164->9000/tcp, 0.0.0.0:55163->9001/tcp, :::55163->9001/tcp   happy_jepsen\n
Run Code Online (Sandbox Code Playgroud)\n

我正在使用以下代码创建容器:

\n
        myContainerInstance = new GenericContainer<>(MY_CONTAINER_IMAGE)\n                .withNetworkAliases("foo")\n                .withCreateContainerCmdModifier(createContainerCmd -> createContainerCmd.withHostName("foo"))\n                .waitingFor(new WaitAllStrategy().withStrategy(new LogMessageWaitStrategy().withRegEx(".*Listening for HTTP on.*"))\n                        .withStartupTimeout(Duration.ofMinutes(4)))\n                .withExposedPorts(9000)\n
Run Code Online (Sandbox Code Playgroud)\n

客户端代码: …

java junit docker dockerfile testcontainers

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

Java BigDecimal的区别

我想知道是否有人可以解释为什么以下代码适用于valueOf但不适用于其他代码.

import java.math.BigDecimal; 
public class Change {
   public static void main(String args[]) {
     double a = 4.00d;
     double b = 3.10d;
     BigDecimal a1 = new BigDecimal(a);
     BigDecimal b1 = new BigDecimal(b);
     BigDecimal diff = a1.subtract(b1);
     System.out.println("Double difference");
     System.out.println(diff);

     float c = 4.00f;
     float d = 3.10f;
     BigDecimal a2 = new BigDecimal(c);
     BigDecimal b2 = new BigDecimal(d);
     BigDecimal diff2 = a2.subtract(b2);
     System.out.println("Float difference");
     System.out.println(diff2);

     System.out.println("Valueof Difference");
     System.out.println(BigDecimal.valueOf(4.00).subtract(BigDecimal.valueOf(3.10)));

   }
 }
Run Code Online (Sandbox Code Playgroud)

输出如下:

>java Change
 Double difference
  0.899999999999999911182158029987476766109466552734375
 Float difference
  0.900000095367431640625
 Valueof Difference
 0.9 …
Run Code Online (Sandbox Code Playgroud)

java double bigdecimal

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

jquery基于单选按钮选择切换div

我在调查表上有一个单选按钮组,其html如下所示:

<label>Would you like to compete?</label>
      <input type="radio"  name="compete" value="2" id="competenoradio" >
      <label for="compete_no">No</label>
      <input type="radio" name="compete" value="1" id="competeyesradio">
      <label for="compete_yes">Yes</label>
      <div id="competeyes">
        <label class="competeyestxt" hidden=true>Which Location?</label>
        <textarea rows="4" cols="40" maxlength="2000" name="competeyestextarea" class="competeyestxt" hidden="true">
        </textarea>
      </div>

The div at the bottom with id 'competeyes' need to be toggled between invisible to visible
 based on whether the user selected radio button with id 'compete_yes'.
Run Code Online (Sandbox Code Playgroud)

这是我的尝试,它不起作用.

Attempt 1:
$('#competeyesradio').bind('change',function(){
  $('#competeyes').toggle($(this).is(':checked'));
});


Attempt 2:

$('div.input input:radio').bind('change',function(){
   $('#competeyes').toggle($(this).is(':checked'));
});

Attempt 3:

$('[name=compete]').bind('change',function(){
  $('#competeyes').toggle($(this).is(':checked'));
 }); …
Run Code Online (Sandbox Code Playgroud)

jquery

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

存储调查结果 - Mysql还是NoSQL?

我正在构建一个调查应用程序,用户可以在其中创建调查.我正在寻找有关如何存储每项调查数据的建议.

我可以以数据库表的形式保存调查结果,如下所示:

调查的数据库设计

像mongodb这样的nosql数据库更适合这种情况吗?

我从来没有使用过nosql数据库,也不知道学习曲线来完成这项工作.

有资源吗?

谢谢你的帮助.

survey mongodb nosql

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