小编cor*_*ded的帖子

Gemfile中的条件

我们的团队互相使用不同的数据库,我们正在使用bundler,因此我们的Gemfile包含repo creator的db连接器(mysql)

我正在使用pg,由于有点懒惰和害怕破坏,我不想使用mysql,所以我只是在我们的Gemfile中添加一个gem"pg".

当然,既然我们正在使用git,它将始终显示为已修改的文件,并且我们都使用Gemfile,因此我们无法对其进行gitignore或将其与我们的更改一起提交.

问题是,我们该如何解决这个问题?在捆绑器中是否存在条件或我是否必须声明我在其他地方使用某个宝石?

gem ruby-on-rails bundler

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

Backbone.Marionette中项目视图和布局中的额外div

我正在尝试Backbone.Marionette,我很困惑为什么我的Layouts和ItemViews继续生成额外的div.

例如在咖啡btw.

AppLayout = Backbone.Marionette.Layout.extend
  template: "#my-layout",

  regions:
    menu: "#menu",
    content: "#content"

MyMenuView = Backbone.Marionette.ItemView.extend
  template: '#project_wiz_nav_template'

MyContentView = Backbone.Marionette.ItemView.extend
  template: '#project_setup_template'

MyApp = new Backbone.Marionette.Application()

MyApp.addRegions
  mainRegion: '#project'

MyApp.addInitializer ->
  layout = new AppLayout()
  MyApp.mainRegion.show(layout)

  layout.menu.show(new MyMenuView())
  layout.content.show(new MyContentView())

MyApp.start()
Run Code Online (Sandbox Code Playgroud)

这是index.html包含的内容:

<div id='project'></div>
<script type='text/template' id='project_wiz_nav_template'> <h2>HI</h2> </script>
<script type='text/template' id='project_setup_template'> <h2>WORLD</h2> </script>
<script id="my-layout" type="text/template">
  <h2>Hello!</h2>
  <div id="menu"></div>
  <div id="content"></div>
</script>
Run Code Online (Sandbox Code Playgroud)

这就是它产生的:

<div id="project">
  <div>
    <h2>Hello!</h2>
    <div id="menu">
      <div> 
        <h2>HI</h2> 
      </div>
    </div>
    <div id="content">
      <div> 
        <h2>WORLD</h2> 
      </div>
    </div> …
Run Code Online (Sandbox Code Playgroud)

backbone.js marionette

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

AssociationTypeMismatch用于相同的模型

摘要/错误

我在我的应用程序中的不同位置出现此错误:

ActiveRecord::AssociationTypeMismatch in Settings::CompaniesController#show

Company(#70257861502120) expected, got Company(#70257861787700)

activerecord (3.2.11) lib/active_record/associations/association.rb:204:in `raise_on_type_mismatch'
activerecord (3.2.11) lib/active_record/associations/belongs_to_association.rb:6:in `replace'
activerecord (3.2.11) lib/active_record/associations/singular_association.rb:17:in `writer'
activerecord (3.2.11) lib/active_record/associations/builder/association.rb:51:in `block in define_writers'
activerecord (3.2.11) lib/active_record/attribute_assignment.rb:85:in `block in assign_attributes'
activerecord (3.2.11) lib/active_record/attribute_assignment.rb:78:in `each'
activerecord (3.2.11) lib/active_record/attribute_assignment.rb:78:in `assign_attributes'
activerecord (3.2.11) lib/active_record/base.rb:497:in `initialize'
app/controllers/settings/companies_controller.rb:4:in `new'
app/controllers/settings/companies_controller.rb:4:in `show'
Run Code Online (Sandbox Code Playgroud)

调节器

控制器看起来像这样,但问题可能发生在使用公司模型来保存或更新另一个模型的任何位置:

class Settings::CompaniesController < SettingsController
  def show
    @company = current_user.company
    @classification = Classification.new(company: @company)
  end

  def update
  end
end
Run Code Online (Sandbox Code Playgroud)

事实/意见

一些事实和观察:

  • 问题随机发生,但通常在开发服务器运行一段时间后.
  • 生产中不会出现此问题.
  • 即使我对Company模型没有任何改变,也会出现问题.
  • 通过重新启动服务器解决了该问题.

理论

据我所知,这是由于动态加载类.

不知何故,Company类在重新加载时获取新的类标识符.我听说有关它是由于草率要求的谣言.我在公司模型中没有要求我自己,但我确实使用了 …

activerecord ruby-on-rails ruby-on-rails-3.2

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

CSS背景图片问题(图片未显示)

我有一个问题,背景图像没有显示.

我有一个我已添加到锚标签的课程.

<a class="my-class"></a>
Run Code Online (Sandbox Code Playgroud)

并且该课程的CSS是:

.my-class {
    background:transparent url("../images/my-bg-image.png") no-repeat 0 center
 }
Run Code Online (Sandbox Code Playgroud)

问题是背景图像没有显示.

我知道它在那里,因为当我这样做时:

<a class="my-class">&NBSP;</a>
Run Code Online (Sandbox Code Playgroud)

部分图像显示.

任何人都知道如何使整个图像显示而不必插入很多&nbsp;的请?

html css css3

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

在SASS中访问Ruby变量(来自模型或控制器)

有没有办法在SASS中访问Ruby变量,还是我必须为它创建一个自定义函数?

我想要做的是为每个用户生成一个样式表,所以在控制器中,我做了类似的事情:

def show
  respond_to do |format|
    format.css{render :partial => "styles"}
  end
end
Run Code Online (Sandbox Code Playgroud)

然后在视图名称_styles.haml我这样做:

:sass
  #header
    :background url(user.banner.url)
Run Code Online (Sandbox Code Playgroud)

这有可能吗?

*显然不是:http://sass-lang.com/docs/yardoc/file.FAQ.html#q-ruby-code

除了我们做的'脏'代码修复之外还有其他方法(我们将_styles部分转换为rhtml然后)

#header {
  background: #efefef url(<%= @company.settings.banner.url %>);
}
Run Code Online (Sandbox Code Playgroud)

haml有这种方法吗?

ruby haml ruby-on-rails sass

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

从jquery和haml渲染部分

我计划的功能是根据从select标签中选择的数字插入一些表单元素.

我有一个名为number_of_passengers的选择标签,我打算为所选数字动态附加新的乘客字段.假设我从number_of_passengers中选择2,那么2个表单应该出现在字段集中.这些表格包含姓名,年龄等.

我试过这样:

从jquery调用rails函数?

并且只是将它转换为haml-speak但是每当我使用:javascript标签时我都会收到错误.我也不认为一旦我进入javascript标签就可以"逃脱"

:javascript
  $('#number_of_passengers').change(function() {
    var $num_of_passengers = $(this).val();
    for($i=0; $i<$num_of_passengers;$i++) {
      $('.passenger-info ul').append('<%= escape_javascript( render :partial => "new_passenger", :locals => {:booking => @booking }) %>');
    }
  })
Run Code Online (Sandbox Code Playgroud)

因为我在form_for中,如何将@booking变量传递给本地?看起来真的很复杂,而且我打算从循环20次(20个最大乘客)中做出肮脏的方式,然后根据所选的数字隐藏/显示它们.但那太脏了你不觉得吗?

jquery haml renderpartial ruby-on-rails

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

好的编码:模块化的js文件或一个大的js文件?

只是想问一下那里的大师们.我知道CSS文件更好地合并而不是分成多个文件.js的工作方式是否相同?以下是我目前所知的几点(或者相信......如果我的信念/理解是错误的,你可以指出一些问题):

  • 我知道js更好地模块化以便于维护
  • 将所有文件合并为一个"风险很大",因为您只想在某个页面上使用某些功能.
  • 我知道并发下载会减慢页面速度,所以最好只做一个大文件.
  • 合并到1个文件可能会导致变量作用域出现问题?
  • 我知道有javascript编译器ala bundle-fu或YUI,但这是所有人的答案吗?dev的不同文件然后js只有1个文件?

javascript jquery bundle

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

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

是否可以使用Ruby Threading终止已经运行的延迟作业?

假设我在后台运行了delayed_job.任务可以安排或立即运行(有些是长期任务,有些则不是)

如果任务太长,用户应该可以取消它.延迟工作有可能吗?我检查了文档,似乎无法找到终止方法或其他东西.它们只提供一个捕获来取消延迟的作业本身(因此取消所有任务......我只需要取消某个正在运行的任务)

更新 我的老板(谁是一个伟大的程序员顺便说一句)建议使用Ruby Threading来实现我们的这个功能.这可能吗?就像为每个任务创建新线程并在其运行时杀死该线程一样?

就像是:

t1 = Thread.new(task.run)
self.delay.t1.join (?) -- still reading on threads so correct me if im wrong
Run Code Online (Sandbox Code Playgroud)

然后停止它我只会使用t1.stop(?)再次不知道

这可能吗?谢谢!

delayed-job ruby-on-rails-3

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

完全脱机安装RVM

我打算为ruby脚本创建安装程序,但是我希望能够确保计算机已安装RVM。有没有一种方法可以完全脱机且不干扰地安装RVM(通过不干扰,如在创建可以执行所有操作的脚本中一样,而不是要求用户向其bash_profile或bashrc中添加某些内容)

我不是在问脚本本身,而是关于如何走这条路线的快速指针(如果可能的话)。我们还研究了这个问题,它很有帮助:

RVM-有没有一种简单的脱机安装方法?

但是有点误导,因为答案只向我们展示了如何在RVM中离线安装红宝石。我们需要能够脱机安装RVM本身,并查看脚本

https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer

我是否要包括整个脚本并将rvm_releases_url更改为其他内容?将rvm路径附加到用户的bash_profile或bashrc而不是要求他们这样做是安全的吗?

ruby macos rvm

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