小编iwa*_*bed的帖子

Ruby on Rails:通过id从数组中删除元素

是否有某种简写

  @notifications = Notification.find(:all, :conditions => ['expires_at > ?', Time.now])

  notif = Notification.find(:all, cookie[0].to_i)
  @notifications.delete(notif[0]) if not notif.empty?
Run Code Online (Sandbox Code Playgroud)

cookie是存储在cookie中的通知的id.这是在迭代中,删除用户不想看到的通知.

谢谢!=)

ruby-on-rails

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

HAML语法错误"期待$ end"

我试图在HAML中干掉一些代码,但似乎偶然发现了一个空白错误,我无法完全理解.

我拿起标题并离开导航代码并将其放入文件layouts夹中各自的文件中.

在常规视图文件中,我将它放在顶部:

= render 'layouts/header'
  = render 'layouts/left_navigation'
  / center content column
  .centerContent.left.phm.rbm
    / start main center section
    / and the rest of the code goes below here
Run Code Online (Sandbox Code Playgroud)

header文件中,我有:

/ main container area
#maincontainer
  / main content
  #maincontent.mhauto
Run Code Online (Sandbox Code Playgroud)

left navigation文件中,我有:

/ left navigation column
#leftNav.leftNav.left
  / a bunch of code goes in here
/ end left navigation column
Run Code Online (Sandbox Code Playgroud)

现在,我希望这相当于:

/ main container area
#maincontainer
  / main content
  #maincontent.mhauto
    / left navigation column
    #leftNav.leftNav.left …
Run Code Online (Sandbox Code Playgroud)

haml ruby-on-rails syntax-error

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

Rails 3 Carrierwave如何删除作为模型属性的文件?

我跟随了Railcast#253 http://railscasts.com/episodes/253-carrierwave-file-uploads,效果很好.但后来我用ActiveAdmin实现了它,因此Formtastic(ActiveAdmin使用Formtastic作为表单).

所以我可以上传文件和下载文件.

问题是,当链接删除链接时,似乎Carrierwave期望模型而不是模型的属性.

我有模型Shipment,它有hbl_pdf属性(PDF文档).这是我的删除链接...

row("HBL") { link_to 'remove', shipment.hbl_pdf, :confirm => "Are you sure?", :method => :delete }
Run Code Online (Sandbox Code Playgroud)

我收到错误...... undefined method model_name for PdfUploader:Class

我不想删除货件,只删除文件.

ruby ruby-on-rails formtastic carrierwave activeadmin

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

无法获得简单的text_area字符计数器工作

假设具有类"store_edit"和id"store_edit_4"的表单以及字段store.description

是否有一种直接的方法在rails 3中添加字符计数器,因为他们已经删除了方便的field_observer?

只想让计数器随着他们输入的每个字符而增加......


我在几个博客中尝试了几种方法,但无济于事.这个是一个简单但有点傻,在输入框中显示字数而不是填充div标签,但即使我无法使用相同的字段名称等工作.例如,我把它放在我的(以前是空的)application.js:

$(document).ready(function(){
    var code = document.code_search.search;
    var remaining = document.code_search.remLen1;

    function textCounting(field,cntfield,maxlimit) {
      if (field.value.length > maxlimit) // if too long...trim it!
        field.value = field.value.substring(0, maxlimit);
        // Set the value
        // otherwise, update 'characters left' counter
      else
        cntfield.value = maxlimit - field.value.length;
    }
  $('#test').keydown(function(){textCounting(code, remaining, 5)});       
  $('#test').keyup(function(){textCounting(code, remaining, 5)});   
});
Run Code Online (Sandbox Code Playgroud)

将这个haml添加到我的所有常规内容之上(只是为了测试它与博客中相同的字段名称等)

= form_tag store_path, :method => 'get', :id => "code_search", :name => "code_search" do
  %p
    = text_field_tag :search, params[:search], :size => '5', :id => 'test'
    %input{:maxlength …
Run Code Online (Sandbox Code Playgroud)

javascript jquery

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

Rails .create()与controller #create

这是一个Rails新手问题:

当我呼叫create()模型时,它是否绕过相关的控制器create动作?

例如,这不是我的标签控制器#create action:

user.tags.create(:content => new_tag)
Run Code Online (Sandbox Code Playgroud)

但是,如果我tags#create从表单POST到路由,那么它的工作正常.

我假设调用user.tags.create将调用控制器操作并始终在创建时运行其中的代码,但显然它只在POST到该路由期间.

我在这里错过了什么?

编辑:

有没有办法进行调用,以确保控制器创建代码运行?我有一些代码可以通过永久链接查找标记,并在必要时创建一个新标记,否则重用现有标记.使用model.create()不运行任何代码.我可能会"做错了":P

action controller model ruby-on-rails ruby-on-rails-3

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

使用jQuery在Rails 3.1中加载更多按钮的will_paginate

我已经读过其他人已经跟随Endless Page转播并修改它以使用更多加载按钮.但是,当我尝试修改它时,我最终会添加相同的作品.换句话说,它仍然从current_page拉出来.

当我点击"加载更多"div时,我上传触发器:

$("#products").append("<%= escape_javascript render( @products) %>");
Run Code Online (Sandbox Code Playgroud)

在我的控制器中,我有

@products = Product.where(:created_at => 180.days.ago..Time.now).order(sort_column + " " + sort_direction).page(params[:page]).per_page(16)
Run Code Online (Sandbox Code Playgroud)

我想知道我是否应该能够以某种方式使用will_paginate的.next_page.

有没有人使用Rails 3和jQuery使用will_paginate做类似的事情?

jquery ruby-on-rails will-paginate ruby-on-rails-3

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

Ruby on Rails应用程序的分离

我正在创建一个b2b应用程序.应用程序本身已完成.现在我需要一个公共网站来告知客户该产品.

公共网站和b2b应用程序可能共享一些数据.由于应该可以在公共网站上注册并选择付款计划,并在同一过程中在b2b应用程序中创建用户.所以我似乎需要使用共享数据库.

将公共网站放在现有应用程序中是最好还是最好将它们分开?

ruby-on-rails heroku separation-of-concerns ruby-on-rails-3

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

页面没有正确地重定向Ruby on Rails

出于某种原因,我在点击页面的受保护部分时收到错误:

Firefox:页面未正确重定向

这是我在我使用的方法ApplicationController:

protected
  def authorize
    unless User.find_by_id(session[:remember_token])
      flash[:notice] = "Please Log in"
      redirect_to :controller => 'sessions', :action => 'new'
    end
  end
Run Code Online (Sandbox Code Playgroud)

出于某种原因,我无法访问sessions/new,这是我的登录页面.任何帮助将非常感谢.我检查了路线,我得到了sessions/new.

redirect ruby-on-rails

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

Ruby on Rails 3教程:在控制台问题中输入命令

我正在阅读本教程,并遇到了rails控制台无法识别我创建的用户模型的问题.这是我正在使用的

这是我在我的用户模型中定义的user.rb,位于sample_app/app/models/user.rb:

class user < ActiveRecord::Base
  attr_accessible :name, :email
  validates :name, :presence => true
end
Run Code Online (Sandbox Code Playgroud)

当我尝试引用它时,这是我在控制台中得到的:

Nicholass-MacBook-Pro:sample_app nbkincaid$ rails console
Loading development environment (Rails 3.1.1)
ruby-1.9.2-p290 :001 > user.new
NameError: undefined local variable or method `user' for main:Object from (irb):1
    from /Users/nbkincaid/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/commands/console.rb:45:in `start'
    from /Users/nbkincaid/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/commands/console.rb:8:in `start'
    from /Users/nbkincaid/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/commands.rb:40:in `<top (required)>'
    from script/rails:6:in `require'
    from script/rails:6:in `<main>'
Run Code Online (Sandbox Code Playgroud)

是否有我需要遵守的特定宝石版本集,或者还有其他我缺少的东西?我不太清楚这一点.

model ruby-on-rails rails-console

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

获取错误"下载失败,因为无法找到资源"

我已经制作了像SampleDownloaderActivity这样的简单示例项目,我设置了BASE64_PUBLIC_KEY和扩展文件版本和长度,上传了apk和扩展文件到Google Play,保存了它们......运行应用程序后收到了这样的消息:"下载失败,因为资源可以找不到"

android expansion-files

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