小编Gra*_*wan的帖子

Rails belongs_to association(with:class_name)返回nil

我对Rails开发比较陌生,而且我有一个小的关联问题.我想命名一个与它所链接的模型不同的关联.

我有以下两种型号:

class User < ActiveRecord::Base
  has_many :events
end

class Event < ActiveRecord::Base
  belongs_to :admin, :class_name => "User" # So we can call event.admin to retrieve the User who owns this Event
end
Run Code Online (Sandbox Code Playgroud)

我建立一个用户如下:

event = event.create! :title => "New Event"

user = User.create! :username => "thinkswan"
user.events << event
user.save
Run Code Online (Sandbox Code Playgroud)

当我跳进控制台时,我收到以下信息:

irb> user = User.find(1)
irb> user.events
=> [#<Event id: 1, title: "New Event", user_id: 1, created_at: "2011-06-09 06:41:09", updated_at: "2011-06-09 06:41:10">]

irb> event = Event.find(1)
irb> event.user_id
=> …
Run Code Online (Sandbox Code Playgroud)

ruby activerecord ruby-on-rails associations ruby-on-rails-3

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

通过HTTP和HTTPS使用Thin Web Server

我正在使用Thin Web服务器来提供我的Rails应用程序.

  • 使用thin start服务http请求启动服务器.
  • 使用thin start --ssl服务https请求启动服务器.

有没有办法同时提供thin服务httphttps请求?

我问的原因是因为当我redirect_to some_path在我的控制器中使用它们时,它们会重定向到http.由于thin提供https请求,因此不会呈现任何内容.

注:我使用的是Rack::SSLRails 3.0.7.

ssl https ruby-on-rails ruby-on-rails-3

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

在Rails 3.1中强制SSL用于特定路由

我需要在我的应用程序中的所有路由上强制使用SSL,除了landing#index.

config/application.rb,我有:

config.force_ssl = true
Run Code Online (Sandbox Code Playgroud)

然后landing_controller.rb,我有:

force_ssl :except => :index
Run Code Online (Sandbox Code Playgroud)

但是,所有路由仍然被重定向到https.

有谁知道如何在Rails 3.1+应用程序中有条件地强制SSL?

解:

将以下内容添加到您的Gemfile:

gem 'rack-ssl-enforcer'
Run Code Online (Sandbox Code Playgroud)

将以下内容添加到您的config/application.rb:

config.middleware.use Rack::SslEnforcer, :except => [ /\/$/ ], :strict => true
Run Code Online (Sandbox Code Playgroud)

ruby ssl ruby-on-rails ruby-on-rails-3.1

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

如何将新页面加载到我当前的jQuery颜色框中?

我在将页面加载到已存在的颜色框中时遇到了一些麻烦.

我点击了一个由以下代码绑定的链接打开了一个颜色框:

$("a.ajaxAddPage").colorbox({
    onComplete: function(){
        $('ul#addPage li a').click(function() {
            $.colorbox({href: $(this).attr('href')});

            return false;
        });
    }
});
Run Code Online (Sandbox Code Playgroud)

以下HTML通过AJAX加载到该颜色框中:

<div class='colorboxWindow'>
    <ul id='addPage'>
        <li><a href='addCat.php'>Add Category</a></li>
        <li><a href='addPage.php' class='current'>Add New Page</a></li>
        <li><a href='addPage2.php'>Add Another Page</a></li>
    </ul>

    <h3>Add New Page...</h3>
</div>
Run Code Online (Sandbox Code Playgroud)

我正在尝试在单击它们时在当前颜色框中打开这3个链接中的每一个.使用onComplete上面的绑定,这适用于第一次单击,但下一次单击就像普通页面一样打开.

如果我添加其他onComplete$.fn.colorbox()在上面的代码调用,那么第2点击也将加载在同一颜色框,但第3不会.

有没有办法将所有未来的点击绑定在同一个颜色框中打开?我对事件绑定还不太了解.

如果您需要澄清,请询问.

html javascript jquery colorbox

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

概念验证应用程序是否应该进行自动化测试?

如果我正在开发一个概念验证应用程序,那么花时间编写自动化测试是否有意义?这是针对我是唯一开发人员的个人项目。

我认为此时自动化测试的唯一好处是:

  • 如果这个概念被抓住了,那么测试已经存在。

与为此类项目编写自动化测试相关的一些缺点可能是:

  • 为一个对人们来说可能不值得的想法编写测试需要花费宝贵的时间。
  • 在这个级别上,最好花时间来展示您的想法。

任何人都可以提供在早期阶段为应用程序编写自动化测试的时间的利弊吗?

testing automated-tests unit-testing rspec ruby-on-rails

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

为什么jQuery的show()和hide()方法会触发淡入淡出?

我正试图在客户端显示和隐藏推文,但jQuery正在折叠元素hide()并将其淡入其中show().

相关HTML:

<aside>
  <div class="tweet-author">
    <p class="name">Graham Swan</p>
    <p class="position">Managing Partner</p>
  </div>

  <div class="tweet">
    <blockquote>Just had the greatest cup of coffee ever!</blockquote>
    <div class="clearfix">
      <time>2 minutes ago <span>via</span> Twitter</time>
      <a href="#">Hide Tweets</a>
    </div>
  </div>
</aside>
Run Code Online (Sandbox Code Playgroud)

相关的JavaScript:

// Hide tweets when "Hide Tweets" link is clicked
$(document).on('click', 'div.tweet > div.clearfix > a', function(e) {
  e.preventDefault();
  $("div.tweet").hide(function() {
    $("div.tweet-author > p.name").html("Show Recent Tweets");
    $("div.tweet-author > p.position").html("By the iNovia Team");
    $("aside").addClass("click-to-show-tweets");
  });
});

// Show tweets when "Show Recent …
Run Code Online (Sandbox Code Playgroud)

html javascript jquery

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

为什么这个网站会冻结在IE 7中,而不是在任何其他浏览器中?

我最近为一家公司制作了零件目录.它在Firefox,Chrome,Safari等中运行良好.

但是,在IE 7中,除了实际的部件页面本身之外,每个页面都有效:http://www.swstruckbodiesandtrailers.com/index.php? pageId = 69

它实际上锁定了整个浏览器,在查看源代码后,我不知道为什么.

有没有人有任何见解?它只是简单的HTML,CSS和几行jQuery - 没什么特别的.

我以前从未遇到过冻结整个浏览器的页面.

html javascript css internet-explorer freeze

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

如何隐藏WordPress评论表单?

我有一个插件,可以让Facebook评论WordPress.用户已请求一项功能,该功能将在启用Facebook评论的帖子上隐藏默认的WordPress评论表单.

如何动态隐藏WP评论表?我知道我可以comment_form();comments.php模板中注释掉,但我希望能够在点击按钮时隐藏/取消隐藏它.

它与comments_template过滤器有关吗?

该插件的主页是http://grahamswan.com/facebook-comments

wordpress comments filter

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