小编dmt*_*989的帖子

Gmaps4rails V2 - 更改默认缩放

我是一个完整的菜鸟,建立我的第一个rails应用程序.我使用youtube上的apneadiving教程成功实现了Google-maps-for-rails V2:http://www.youtube.com/watch?v = R0l-7en3dUw&feature = youtu.be

我的问题是,对于我的每张地图,我只显示一个标记,当地图加载时,它会调整为完全缩放.

搜索周围,似乎有很多早期版本的Gmaps4rails解决方案,但对于V2,并通过javascript创建地图,我似乎无法找到一个有效的解决方案.

作为参考,我的代码如下:

视图:

    <script type="text/javascript">
      handler = Gmaps.build('Google');
      handler.buildMap({ provider: {}, internal: {id: 'map'}}, function(){
      markers = handler.addMarkers(<%=raw @hash.to_json %>);
      handler.bounds.extendWith(markers);
      handler.fitMapToBounds();
      }); </script> 
Run Code Online (Sandbox Code Playgroud)

控制器:

def show
  @pins = Pin.find(params[:id])
  @hash = Gmaps4rails.build_markers(@pins) do |pin, marker|
    marker.lat pin.latitude
    marker.lng pin.longitude
  end
end
Run Code Online (Sandbox Code Playgroud)

我试图通过控制台使用:gmap.setzoom(12)进行更改,正如某些帖子所建议的那样,但是没有任何运气.

任何帮助深表感谢

对我有用的答案:将视图更改为:

  <script type="text/javascript">
  handler = Gmaps.build('Google');
  handler.buildMap({ provider: {}, internal: {id: 'map'}}, function(){
  markers = handler.addMarkers(<%=raw @hash.to_json %>);
  handler.bounds.extendWith(markers);
  handler.fitMapToBounds();
  handler.getMap().setZoom(12);
  }); </script> 
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助!

ruby-on-rails gmaps4rails ruby-on-rails-4 gmaps4rails2

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

Rails控制台:无法自动加载常量

我有一个Customer_ratings模型,允许用户互相留下反馈.Web应用程序正常运行,并收集,存储和显示反馈.

我想通过rails控制台进入并删除一些反馈,但是当我输入时Customer_rating.all,我收到以下错误:

LoadError: Unable to autoload constant Customer_rating, expected /Users/myapps/app/models/customer_rating.rb to define it
Run Code Online (Sandbox Code Playgroud)

同样,如果我输入Customer_rating [0],我会得到:

RuntimeError: Circular dependency detected while autoloading constant Customer_rating
Run Code Online (Sandbox Code Playgroud)

通过我的控制台访问其他表时我没有这个问题.

可能导致此问题的原因,以及为什么此错误不会禁止Customer_ratings通过Web应用程序正常工作?

associations autoload rails-console ruby-on-rails-4

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

在CSS中使用glyphicon作为背景图像:rails 4 + bootstrap 3

我正在使用bootstrap的collapse.js来扩展和折叠rails应用程序中的一些输入组.我正在使用JS来确定是否扩展了组,并创建了CSS类来添加"+"或" - "以显示它是打开还是关闭:

打开: 在此输入图像描述

关闭: 在此输入图像描述

从CSS中可以看出,我正在使用背景图像,这是我的图像中的一个png:

.expandable {
  background: url('/assets/plus.png');
  padding-top: 4px;
  width: 400px;
  height: 30px;
  background-repeat: no-repeat;
  padding-left: 55px;
  display: block;
}

.expanded {
  background: url('/assets/minus.png');
  padding-top: 4px;
  width: 400px;
  height: 30px;
  background-repeat: no-repeat;
  padding-left: 55px;
  display: block;
}
Run Code Online (Sandbox Code Playgroud)

我想使用glyphicon-plus和glyphicon-minus而不是这些.png文件.

实现这一目标的最佳方法是什么?

更新:

为了获得正确的样式,我将CSS更改为:

.expandable {
  height:40px;
  width:50%;
  margin:6px;

}

.expandable:before{
  content:"\2b";
  font-family:"Glyphicons Halflings";
  line-height:1;
  margin:5px;

}

.expanded {
  height:40px;
  width:50%;
  margin:6px;
}

.expanded:before{
  content:"\2212";
  font-family:"Glyphicons Halflings";
  line-height:1;
  margin:5px;

}
Run Code Online (Sandbox Code Playgroud)

作为参考,我的HTML是:

<div class="panel-group" id="accordion">
  <div class="panel panel-default">
    <div class="panel-heading">
      <p1 …
Run Code Online (Sandbox Code Playgroud)

html css ruby-on-rails twitter-bootstrap glyphicons

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

Bootstrap内联文本框和搜索按钮

我有搜索输入框,我想要使用bootstrap表单控件外观设置样式.问题是,我还希望搜索按钮与搜索框在同一行.我认为这可以使用form-inline来完成,但是当我将类表单控件添加到搜索框时,搜索按钮会被推送到下一行:

<div class="input-group" >
    <div class="form-inline">
      <input id="address" type="textbox" placeholder="City or Zipcode" class="form-control" >
      <input class="btn btn-sm btn-primary" type="button" value="Search" id="addressSearch">
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/TLEbG/

如果我从输入文本框中删除class ="form-control",则该按钮将以内嵌方式显示:

http://jsfiddle.net/ETs9M/

如何在保持按钮内联的同时保持form-contol框样式?

twitter-bootstrap ruby-on-rails-4

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

rails 4 app的一页上有多个条纹支付按钮

我正在构建一个付款页面,列出三种不同的订阅选项,并使用Stripe的结帐来管理付款.

页面正确呈现,并且所有3个订阅选项都具有应该链接到Stripe的"立即购买"按钮.

我的问题是第一个按钮是唯一一个正确拉起Stripe结帐流程的按钮.按钮2和3抛出以下错误:

未知操作无法为ChargesController找到操作"索引"

我的付款页面的相关部分是:

  <% @plans.each do |plan| %>
    <li class="col-md-3 plan <%= 'plan-primary' if plan.highlight? %>">
      <div class="img-thumbnail">
        <div class="caption">
          <h3><%= plan.name %></h3>
          <h4><%= plan_price(plan) %></h4>
          <div class="call-to-action">
            <% if @subscription.nil? %>
             <% if plan.highlight? %>

              <%= form_tag main_app.charges_path do %>
                <script src="https://checkout.stripe.com/checkout.js"></script>

                  <button id="customButton" class="btn btn-success">Buy Now</button>

                  <script>
                    var handler = StripeCheckout.configure({
                      key: '<%= 'pk_test_my_pk' %>',
                      image: '/assets/my_logo.png',
                      token: function(response) {
                        var tokenInput = $("<input type=hidden name=stripeToken />").val(response.id);
                        var emailInput = $("<input type=hidden name=stripeEmail />").val(response.email);
                        $("form").append(tokenInput).append(emailInput).submit();
                      } …
Run Code Online (Sandbox Code Playgroud)

javascript ruby-on-rails stripe-payments ruby-on-rails-4

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

Rails使用kickstarter机架攻击IP黑名单与Cloudflare

Rails app,使用Kickstarter的机架攻击

在我的config/rack-attack.rb文件中,我有:

class Rack::Attack
  Rack::Attack.blacklist ('block ip') do |req|
    # Request are blocked if the return value is truthy
    '68.888.23.22' == req.ip
    # req.ip if IPCat.datacenter?(req.ip)
  end
end
Run Code Online (Sandbox Code Playgroud)

这一直很好,直到我开始使用CloudFlare.req.ip现在是Cloudflare IP vs实际最终用户的IP

尝试将用户的IP保存到我的服务器日志时,我遇到了类似的问题(正在保存Cloudflare IP).为了解决这个问题,我将以下内容添加到应用程序控制器中:

module ActionDispatch
  class Request < Rack::Request
    alias :remote_ip_orig :remote_ip
    def remote_ip
      @remote_ip ||= (@env['HTTP_CF_CONNECTING_IP'] || remote_ip_orig)
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

是否有一个类似的过程,以便在机架攻击中使用HTTP_CF_CONNECTING_IP作为req.ip?

ip-address cloudflare rackattack

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

表单上的单选按钮在表单验证失败后无法正确呈现 - 引导程序

带有Bootstrap 3的Rails 4应用程序

我有一个包含单选按钮输入的表单:

<strong> Radio button options on form </strong><br>
   <div class="form-group">
     &nbsp<%= f.radio_button :category, 'A' %> &nbsp <%= f.label "A", "A" %><br /> 
     &nbsp<%= f.radio_button :category, 'B' %> &nbsp <%= f.label "B", "B" %><br />  
     &nbsp<%= f.radio_button :category, 'C' %> &nbsp <%= f.label "C", "C" %><br />
   </div>
Run Code Online (Sandbox Code Playgroud)

第一次加载表单时,一切看起来都正确:

在此输入图像描述

我的问题是,如果表单由于验证错误而失败(缺少所需的输入等,在表单上的任何位置),当页面重新呈现时,单选按钮和标签显示在两个不同的行上:

在此输入图像描述

我该如何解决这个问题?

更新 为每个生成的HTML是:原始(正确):

    <strong> Radio button options on form </strong><br>
    <div class="form-group">
      &nbsp<input id="listing_category_1" name="listing[category]" type="radio" value="1" /> &nbsp <label for="listing_1">A</label><br /> 
      &nbsp<input id="listing_category_2" name="listing[category]" type="radio" value="2" /> …
Run Code Online (Sandbox Code Playgroud)

html ruby-on-rails radio-button twitter-bootstrap

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

Cloudflare + Heroku SSL

我有一个在heroku上运行的rails应用程序,我正在使用Cloudflare Pro和他们的完整SSL来加密以下流量:用户<-SSL-> Cloudflare <-SSL-> Heroku,详见:http://mikecoutermarsh.com/ 添加-ssl-to-heroku-with-cloudflare /.

我还使用rack-ssl-enforcer gem来强制所有http请求通过https.

这是正常的,除了我有以下问题,浏览器:

1)Firefox.我必须在第一次访问该站点时添加安全性异常,获得"此站点不受信任"警告.进入网站后,我在地址栏中也有警告:在此输入图像描述

2)Chrome:第一次加载页面,但地址栏中的锁定上有一个警告三角形,点击后显示:

您的连接使用128位加密进行加密.但是,此页面包含其他不安全的资源.其他人在传输过程中可以查看这些资源,攻击者可以修改这些资源以更改页面外观.连接使用TLS 1.2.使用AES_128_GCM对连接进行加密和身份验证,并使用ECDHE_RSA作为密钥交换机制.

Safari:最初使用https徽章加载,但会立即下降

有没有办法利用Cloudflare SSL +搭载Heroku原生SSL而不会遇到这些安全警告?如果没有,我认为配置中没有多少价值.

ssl ruby-on-rails heroku cloudflare

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

Ruby-从哈希数组中创建哈希

我有一系列哈希:

@operating_systems = [
  {"title"=>"iPhone", "value_percent"=>"42.6"},
  {"title"=>"Windows 7", "value_percent"=>"21.3"},
  {"title"=>"Android", "value_percent"=>"12.8"},
  {"title"=>"Mac OS X", "value_percent"=>"8.5"},
  {"title"=>"Windows 8.1", "value_percent"=>"6.4"},
  {"title"=>"Windows XP", "value_percent"=>"4.3"},
  {"title"=>"Linux", "value_percent"=>"2.1"},
  {"title"=>"Windows Vista", "value_percent"=>"2.1"}
] 
Run Code Online (Sandbox Code Playgroud)

并想要创建以下哈希:

 {"iphone" => "42.6", "windows 7" => "21.3", ... "windows vista" => "2.1"}
Run Code Online (Sandbox Code Playgroud)

完成此任务的最佳方法是什么?

ruby arrays hash ruby-on-rails-4

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