小编Kom*_*mbo的帖子

使用Dragonfly从URL分配图像

我正在使用Dragonfly处理Rails 3.1应用程序上的图像.我正在努力通过网址将图像分配给模型.

我有一个工作正常的形式:

<%= form_for [@word, @game, @picture], :html => {:multipart => true} do |f| %> 
  <%= f.hidden_field :retained_image %>
  <p>
    <%= f.label :image, "upload pic" %><br />
    <%= f.file_field :image %>
  </p>
  <p>
    <%= f.label :image_url, "or pic URL" %><br />
    <%= f.text_field :image_url %>
  </p>
  <p>
    <% if @picture.image_uid? %>
    <label>Remove Picture?</label>
    <%= f.check_box :remove_image %>
    <% end %>
  </p>
  <p><%= f.submit %></p>
<% end %>
Run Code Online (Sandbox Code Playgroud)

Dragonfly的文档说明:

Dragonfly提供了一个直接从url分配的访问器:

@album.cover_image_url = 'http://some.url/file.jpg'
Run Code Online (Sandbox Code Playgroud)

但是当我在我的控制台中尝试时:

 => #<Picture id: nil, game_id: nil, …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails paperclip ruby-on-rails-3 dragonfly-gem

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

Rails 3 - link_to分配多个类

我有一个循环链接到集合中的每个项目:

<% current_user.projects.all.each do |p| %>
    <%= link_to p.name, project_path(p), :class => current_class?(project_path(p)), :id => p.theme %>
  <% end %>
Run Code Online (Sandbox Code Playgroud)

现在,我除了id之外还为锚点分配一个类,所以我可以应用一些CSS.实际上,对于我来说,将它作为一个双重锚点更有意义.有没有办法使用link_to帮助器将两个类分配给同一个对象?

css ruby-on-rails

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

Rails 3 - 嵌套资源 - 路由

我在嵌套源Product上遇到了与destroy方法有关的问题,它与Orders绑定.

在尝试销毁某个项目后,我将用户重定向到我的order_products_url.我收到以下路由错误:

No route matches "/orders/1/products"
Run Code Online (Sandbox Code Playgroud)

我的destroy方法看起来像这样:

def destroy
    @product = Product.find(params[:id])
    @order = Order.find(params[:order_id])
    @product.destroy

    respond_to do |format|
      format.html { redirect_to(order_products_url) }
      format.xml  { head :ok }
    end
end
Run Code Online (Sandbox Code Playgroud)

并在routes.rb中:

resources :orders do
    resources :products, :controller => "products"    
  end
Run Code Online (Sandbox Code Playgroud)

这让我感到困惑的原因是我的产品更新方法,我正确地将用户重定向到order_products_url而没有问题.我不明白为什么它在那里工作但不在这里.

谢谢

ruby routing nested ruby-on-rails

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

Rails 3 - 授权,设置分层计划的限制?

我正在寻找一个具有分层帐户计划的应用程序.我有免费账户和高级账户.

我正在寻找的是一个很好的插件,可以帮助我处理这种限制/授权.我正在看CanCan,因为它似乎是事实,贝茨先生很棒,但我有一个问题.

使用CanCan,您是否可以说,限制用户完成创建操作的时间?我想这样做一个免费帐户只能创建一定数量的项目或其他模型对象,这可能是CanCan吗?

无论如何,我只是想要一些帮助开始使用Authorization插件,更好的onces内置了限制活动的方法.

authorization ruby-on-rails cancan ruby-on-rails-3

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

在create.js.erb中重定向

我想知道是否有办法在js.erb文件中进行重定向.我正在转换一个应用程序以使用ajax,所以它感觉更快,但我的创建操作将用户留在索引页面上.

我可以这样做:

window.location.replace("/model/@object.id")
Run Code Online (Sandbox Code Playgroud)

但是如果有可能的话,我更愿意做一个完整的redirect_to model_path(@object)?

ruby-on-rails ruby-on-rails-3

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

窗口未在Prerender上定义

我正在使用Rails通过react-rails(1.0.0pre)试验React.js,并且在渲染依赖于窗口大小的响应元素时遇到了一些麻烦.每当我创建一个使用窗口的组件时,我都会收到以下错误:[React::Renderer] ReferenceError: window is not defined尝试将组件渲染到我的Rails视图中的字符串时.例如,我的组件:

/** @jsx React.DOM */

var Example = React.createClass({  
  getInitialState: function() {    
    return { 
      windowWidth: $(window).width()
    };
  },

  render: function () {

    return (
      <div className="example-wrapper">
        {this.props.label}
        {this.state.windowWidth}
      </div>
    );
  }
});
Run Code Online (Sandbox Code Playgroud)

以及我对道具的看法:

<%= react_component('Example', {name: 'Window width is:'}, { prerender: true }) %>
Run Code Online (Sandbox Code Playgroud)

是否有可能在React的虚拟DOM中引用该窗口?

javascript reactjs

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

Rails 3 - 某些集合上的未定义方法

我有一个为我的模型Link编写的搜索方法.

在实施投票​​之前,我已经能够毫无错误地调用此方法.例如,这些都有效:

Link.search(params[:search])
current_user.links.search(params[:search])
current_account.links.search(params[:search])
Run Code Online (Sandbox Code Playgroud)

以下不起作用:

@links = current_user.votes.collect {|vote| vote.voteable}
@favorites = @links.search(params[:search])
Run Code Online (Sandbox Code Playgroud)

并返回此错误:

 undefined method `search' for #<Array:0x00000006919ac8>
Run Code Online (Sandbox Code Playgroud)

我在控制台中做了一些测试,看看我的课程是否错误:

links = user.votes.map {|vote| vote.voteable}
links.class
 => Array 
links.first.class
 => Link
Run Code Online (Sandbox Code Playgroud)

这应该与我的工作示例没有什么不同:

user.links.class
 => Array
user.links.first.class
 => Link
Run Code Online (Sandbox Code Playgroud)

我想也许错误来自于我在数组上调用搜索而不是链接.但在之前的例子中,我也在一个数组上调用它.

我使用vote_fu处理投票,从而投票/投票.

arrays activerecord ruby-on-rails ruby-on-rails-3

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

两个阵列的交叉点空出来

我有两个数组,我试图将它们相交,所以我可以运行一个范围,我的rails代码看起来像:

def index 
    @lists = current_user.lists
    @tasks = @lists.collect{|list| list.tasks}
    @search_tasks = Task.search(params[:search])
    @user_tasks = (@tasks & @search_tasks).now_high
end
Run Code Online (Sandbox Code Playgroud)

在我的浏览器中,我收到以下错误:

未定义的方法`now_high'表示[]:Array

所以这就是我的范围:

scope :now_high, lambda { where("due_date < ? AND importance = ? AND complete = ?", Date.today + 2.days, 'high', false) }
Run Code Online (Sandbox Code Playgroud)

当我说,只在Task.now_high上执行时,这个范围有效 - 我认为问题是我的两个数组相交,我不知道为什么它每次都是空的.

在控制台中:

current_user = User.first
 => #<User id: 1, name:...
@lists = current_user.lists
 => [#<List id: 1, name: "Working on sharing lists"... #gets the lists that belong to the user
@tasks = @lists.collect{|list| list.tasks}
 => …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails ruby-on-rails-3

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

通过Date.parse搜索(字符串)非常慢?

我已经使用Ryan Bate的Ajax剧集搜索来编写一些基本的搜索功能.

它基本上做的是从表单中获取一个字符串,并通过模型方法执行类似的查询.我要做的是有条件地搜索数据库中的不同列(due_date和name),并使用我用Date类解析的单个字符串.这样,用户可以按日期搜索项目,或者使用相同的表单搜索项目名称.我的方法看起来像:

def self.search(search) 
    if search
      search_date = Date.parse(search) rescue nil
    end

    if search_date
      where('due_date = ?', search_date)
    elsif search
      where('UPPER(name) LIKE ?', "%#{search.upcase}%")
    else
      scoped
    end
  end  
Run Code Online (Sandbox Code Playgroud)

这就像用户键入日期一样,Date类能够解析它,在数据库中查找具有该due_date的任何对象.问题是,如果它是一个日期并且它能够被解析,那么搜索速度非常慢.

我想知道是否有人有办法加快速度.Date类是如此之慢吗?我应该有两种不同的方法吗?或者我应该完全重写我的搜索?

ruby ruby-on-rails ruby-on-rails-3

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

Zurb Foundation Nav在Rails项目中有限风格

我在轨道项目中通过zurb-foundation gem使用Zurb Foundation 3.在我尝试添加导航栏之前,一切进展顺利:

<body>
  <div id="container" class="twelve columns">
      <div class="fixed contain-to-grid">
        <nav class="top-bar">
          <ul>
            <li class="name"><h1><%= link_to "Home", root_path %></h1></li>
          </ul>
          <section>
            <ul class="left">
              <li><a href="#">Left</a></li>
            </ul>

            <ul class="right">
              <li><a href="#">Right</a></li>
            </ul>
          </section>
        </nav>
      </div>
Run Code Online (Sandbox Code Playgroud)

看起来像:

Zurb Nav外观

我没有覆盖除了颜色之外的任何zurb样式,我的假设是它看起来非常类似于文档http://foundation.zurb.com/docs/navigation.php中的第一个例子但是看起来似乎没有是这样的.该文档还提到了javascript依赖项,但这些依赖项.

任何人都有任何想法如何开始让这看起来很漂亮?

编辑:

将行添加到第一个列表,如下所示:

<ul>
            <li class="name"><h1><%= link_to "Home", root_path %></h1></li>
            <li class="toggle-topbar"><a href="#"></a></li>
          </ul>
Run Code Online (Sandbox Code Playgroud)

呈现这个:

在第一个建议之后

检查元素以查看是否显示了内容,导航JS就在那里:

(function ($){

  $.fn.foundationNavigation = function (options) {

    var lockNavBar = false;
    // Windows Phone, sadly, does not register touch events :(
    if (Modernizr.touch || …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails ruby-on-rails-3 zurb-foundation

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