小编Mis*_*cha的帖子

遇到错误后使Ruby/Rails继续方法

def checkdomains
  @domains = Domain.all

  #@domains.where(:confirmed => "yes").each do |f|
  @domains.each do |f|
    r = Whois.whois(f.domain)
    if r.available? == true
      EmailNotify.notify_email(f).deliver
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

当它出现一个无效的url(whois gem发出错误)时,此方法崩溃,并且不会继续检查其余的域.有什么方法可以让它继续检查其余的域,即使它崩溃了吗?至少在我可以解决每个域的搜索问题之前.

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

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

如果数据库条目为空,则在视图中显示此"消息"

我是rails的新手,并且想知道如果数据库条目为空,是否可以在视图中有默认消息.例如,如果你有一个图像,你可以这样做:

<%= image_tag "#{post.imge}", :alt => 'Currently no image available'%>
Run Code Online (Sandbox Code Playgroud)

因此,如果没有图像链接,那么就会出现"当前没有图像可用"但是如果你只是想显示一个字符串,那么:

<%= post.info %>
Run Code Online (Sandbox Code Playgroud)

但如果post.info为空,我想显示另一条消息,如"目前没有可用信息"?我知道<%= post.info,:alt =>'目前没有可用的信息'%>不起作用但我似乎无法找到任何方法来做到这一点 - 可能是因为它很容易没有人有过问了问题哈哈!

我试图在帮助器中使用下面的解决方案,因为我想用于几个不同的条目,但我似乎无法让它工作 - 我在下面添加了我的代码:

module ApplicationHelper
  def chk_blnk(gogo)
    if gogo.blank?
      "No img"
    else    
      return gogo
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

当它接收变量(post.info)时我也不确定如何在视图中调用它我知道通常你会这样称呼它:

<%= chk_blnk %>
Run Code Online (Sandbox Code Playgroud)

我很抱歉,如果这些是我试图寻找答案的基本问题,但我似乎无法找到任何答案.

database message ruby-on-rails

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

了解红宝石块

查看Ruby块有什么好的概念方法?

如果我有一个数组,A,我将它传递给以下函数:

def MergeSort(&var)
...
end
Run Code Online (Sandbox Code Playgroud)

然后运行该函数,将一个Array传递给它:

MergeSort(A)
Run Code Online (Sandbox Code Playgroud)

数组A是否会被视为函数中的块?块的好处是什么,使用它们的好模式是什么?我意识到这些是一些无关的,可能是随机的问题; 任何澄清Ruby块的答案都会受到赞赏.

ruby block

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

特殊字符 &amp; 被打印为 &amp;

在我的index.html.erb页面中,当从 MSSQL 查询数据时,它显示为 Me&amp;Mine. 我试过这个:

$("#3").text("<%= escape_javascript(raw render(:partial => "var") %>");
Run Code Online (Sandbox Code Playgroud)

但它不起作用。

index.html.erb :

<%= link_to "Link", {:action => "AjaxView",:col => "colname"}, 
        :update => "Ajaxcall", :remote => true %>
<tr>
<td id="#3" style="height:25px">data displayed here</td>
Run Code Online (Sandbox Code Playgroud)

控制器:

def AjaxView
  @vars= Var.find(:all,:conditions => { :varName=> "one" },:select=>(params[:col]))
  respond_to do |format|
    format.js { render :layout=>false }
  end
end
Run Code Online (Sandbox Code Playgroud)

AjaxView.js.erb:

 if ( @col.to_s == "colName") {
   $("#3").text("<%= escape_javascript(render(:partial => "var") %>");
 }
 elsif ( @col.to_s == "colName1")
 {
   $("#2").text("<%= escape_javascript(render(:partial => …
Run Code Online (Sandbox Code Playgroud)

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

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

仅在启动服务器时运行的函数

我正在研究Rails应用程序.我想只在服务器启动期间执行一段代码.我在哪里添加此代码?

ruby-on-rails

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

如何在Rails应用程序中记录上次活动的时间?

在我的Rails应用程序,我想记录的时间userlast_seen.

现在,我在下面这样做SessionsHelper:

def sign_in(user)
  .....
  user.update_column(:last_seen, Time.zone.now)
  self.current_user = user
end
Run Code Online (Sandbox Code Playgroud)

但这不是很精确,因为用户可能会在上午8点登录,而在晚上,last_seen数据库列仍将包含该时间.

所以我想last_seen在用户采取行动时更新:

class ApplicationController
  before_filter :update_last_seen

  private

  def update_last_seen
    current_user.last_seen = Time.zone.now
    current_user.save
  end
end
Run Code Online (Sandbox Code Playgroud)

但我不喜欢这种方法,因为数据库会因用户采取的每个操作而受到攻击.

那么什么可能是一个更好的替代品呢?

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

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

rails上的ruby语法错误

我在Ruby on Rails上有语法错误,我似乎无法解决它:

/home/francois/.rvm/gems/ruby-2.2.2@global/gems/actionpack-4.2.0/lib/action_dispatch/routing/route_set.rb:419:in `eval_block': /home/francois/.rvm/gems/ruby-2.2.2@global/gems/actionpack-4.2.0/lib/action_dispatch/routing/mapper.rb:124: syntax error, unexpected ')', expecting => (SyntaxError)
from /home/francois/.rvm/gems/ruby-2.2.2@global/gems/actionpack-4.2.0/lib/action_dispatch/routing/route_set.rb:439:in `block in clear!'
from /home/francois/.rvm/gems/ruby-2.2.2@global/gems/actionpack-4.2.0/lib/action_dispatch/routing/route_set.rb:439:in `each'
from /home/francois/.rvm/gems/ruby-2.2.2@global/gems/actionpack-4.2.0/lib/action_dispatch/routing/route_set.rb:439:in `clear!'
from /home/francois/.rvm/gems/ruby-2.2.2@global/gems/railties-4.2.0/lib/rails/application/routes_reloader.rb:35:in `block in clear!'
from /home/francois/.rvm/gems/ruby-2.2.2@global/gems/railties-4.2.0/lib/rails/application/routes_reloader.rb:33:in `each'
from /home/francois/.rvm/gems/ruby-2.2.2@global/gems/railties-4.2.0/lib/rails/application/routes_reloader.rb:33:in `clear!'
from /home/francois/.rvm/gems/ruby-2.2.2@global/gems/railties-4.2.0/lib/rails/application/routes_reloader.rb:15:in `reload!'
from /home/francois/.rvm/gems/ruby-2.2.2@global/gems/railties-4.2.0/lib/rails/application/routes_reloader.rb:26:in `block in updater'
from /home/francois/.rvm/gems/ruby-2.2.2@global/gems/activesupport-4.2.0/lib/active_support/file_update_checker.rb:75:in `call'
from /home/francois/.rvm/gems/ruby-2.2.2@global/gems/activesupport-4.2.0/lib/active_support/file_update_checker.rb:75:in `execute'
from /home/francois/.rvm/gems/ruby-2.2.2@global/gems/railties-4.2.0/lib/rails/application/routes_reloader.rb:27:in `updater'
from /home/francois/.rvm/gems/ruby-2.2.2@global/gems/railties-4.2.0/lib/rails/application/routes_reloader.rb:7:in `execute_if_updated'
from /home/francois/.rvm/gems/ruby-2.2.2@global/gems/railties-4.2.0/lib/rails/application/finisher.rb:69:in `block in <module:Finisher>'
from /home/francois/.rvm/gems/ruby-2.2.2@global/gems/railties-4.2.0/lib/rails/initializable.rb:30:in `instance_exec'
from /home/francois/.rvm/gems/ruby-2.2.2@global/gems/railties-4.2.0/lib/rails/initializable.rb:30:in `run'
from /home/francois/.rvm/gems/ruby-2.2.2@global/gems/railties-4.2.0/lib/rails/initializable.rb:55:in `block in run_initializers'
from /home/francois/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/tsort.rb:226:in `block in tsort_each'
from /home/francois/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/tsort.rb:348:in `block (2 …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails

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

按编号过滤数组?

我有一个包含数字列表的数组,例如

[10, 30, 50, 54, 56, 95, 97, 99] 
Run Code Online (Sandbox Code Playgroud)

如果我提供一个数字,例如52,它需要返回数组中的下一个最小数字,在这种情况下,它将是50.

最干净的方法是什么?

请说明是否必须先排序数组.

ruby arrays

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

javascript动态填充下拉列表框

我有一个ruby on rails application.I有2个下拉框.我必须根据第一个选择填充第二个下拉框.

HTML代码是

-Releases = Release.all
  %table.grid.full
    %tr      
      %td.grid.full_panels{:style => "width: 40%"}
        Release:
      %td.grid.full_panels{:style => "width: 40%"}
        = select_tag "releases",options_from_collection_for_select(releases,"id","name",params[:releases]),:include_blank=>true
      %td.grid.full_panels{:style => "width: 40%"}
        Cycle:
      %td.grid.full_panels{:style => "width: 40%"}
Run Code Online (Sandbox Code Playgroud)

现在我需要循环下拉以从发布中填充.

请帮我解决这个问题.

jquery ruby-on-rails-3

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

迭代数组的哈希值

我有以下内容:

@products = {
  2 => [
    #<Review id: 9, answer01: 3, score: 67, style_id: 2, consumer_id: 2,
    branch_id: 2, business_id: 2>
  ],
  15 => [
    #<Review id: 10, answer01: 3, score: 67, style_id: 2, consumer_id: 2,
    branch_id: 2, business_id: 2>,
    #<Review id: 11, answer01: 3, score: 67, style_id: 2, consumer_id: 2,
    branch_id: 2, business_id: 2>
  ]
}
Run Code Online (Sandbox Code Playgroud)

我想平均与每个产品的哈希键相关的所有评论的分数.我怎样才能做到这一点?

ruby

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