标签: ruby-on-rails-3

Rails验证使用验证带正则表达式的字符串?

我有一个Message.uuid字段,我想添加验证,其中包括:

支持的:

  • AZ,az,0-9
  • 在中间破折号,但从不以破折号开始或结束.
  • 至少5个,不超过500个字符

rails为这些规则编写模型验证的最佳方法是什么?

谢谢

更新:

  validates :uuid,
    :length => { :within => 5..500 },
    :format => { :with => /[A-Za-z\d][-A-Za-z\d]{3,498}[A-Za-z\d]/ }
Run Code Online (Sandbox Code Playgroud)

使用有效的UUID,这是失败的

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

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

使用rails_admin创建新模型时如何将用户设置为current_user

我有一个rails 3.0.10项目我正在使用rails_admin gem构建一些基本的管理功能.对于在rails_admin中管理的其中一个模型,我希望能够基于current_user设置用户关联.我认为这应该是一个相当普遍的要求,所以我确信我错过了一些明显的东西.

我确实发现了一个似乎可以解决这个问题的帖子,但它对我不起作用.所以我希望那里的其他人可能有另一个建议.

这是我能够找到的对话:http://groups.google.com/group/rails_admin/browse_thread/thread/ce0e22aeec1f72b7

ruby-on-rails-3 rails-admin

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

不能把当地人传给parital Rails

我偏爱 _new_user_form.html.erb

<%= form_for(@user, :remote => true, :html => {:id => 'new_user_form'}) do |f|%>
  <strong><%= :form_text %></strong>
  <%= f.text_field :email, :placeholder =>  get_placeholder_text(@board), :size => "30" %>
  <%= hidden_field_tag :role, role %>
  <%=f.submit "SAVE", :class => "button-small" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

在show.rb中我想使用它并传递一些部分变量,如下所示:

<%= render  'users/new_user_form', :locals=> {:role => "Celebrant" } %>
Run Code Online (Sandbox Code Playgroud)

但是我收到此错误:

undefined local variable or method `role' for #<#<Class:0x00000103d5e8b0>:0x00000103d5b930>
Run Code Online (Sandbox Code Playgroud)

我阅读了关于传入当地人的文件,这似乎是正确的.我究竟做错了什么?

renderpartial ruby-on-rails-3

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

如何在Rails 3.1中将我的URL格式设置为username/controller /:id?

我希望它类似于Twitter处理其推文的URL的方式.

例如,现在我的URL看起来像这样:mydomain.com/feedbacks/1/,feedbacks控制器的名称在哪里.

我希望它看起来像:mydomain.com/username/feedbacks/1/类似于Twitter的:twitter.com/username/status/:id/.

routes.rb看起来像这样:

  resources :users do
      resources :feedbacks
  end
Run Code Online (Sandbox Code Playgroud)

当我这样的时候,它会给我URL mydomain.com/users/1/feedbacks,但我想要URL中的实际用户名.

我怎么做到的?

谢谢.

编辑1:如果您要为此问题添加另一个答案,请确保它针对已给出的答案解决我的意见/问题.否则它将是多余的.

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

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

如何检索通用URL的'scheme:// domain'部分?

我正在使用Ruby on Rails 3.0.10,我想检索scheme://domain通用URL 的一部分(注意:URL语法也可以scheme://domain:port/path?query_string#fragment_id).

也就是说,例如,如果我有以下网址

http://stackoverflow.com/questions/7304043/how-to-retrieve-the-scheme-domainport-part-of-a-generic-url
ftp://some_link.org/some_other_string

# Consider also 'https', 'ftps' and so on... 'scheme:' values.
Run Code Online (Sandbox Code Playgroud)

我想只检索

# Note: The last '/' character was removed.

http://stackoverflow.com
ftp://some_link.org

# Consider also 'https', 'ftps' and so on... 'scheme:' values.
Run Code Online (Sandbox Code Playgroud)

部分.我怎样才能做到这一点?

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

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

设计 - 限制同一用户的多个会话

我有一个基于订阅的应用程序,根据添加的用户数收费.
我想将用户限制为单个会话.
如何实现它.我正在使用设计进行身份验证.

谢谢..

devise ruby-on-rails-3

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

TrueClass Rails的未定义方法ID

  def can_save(board,role)
    if ar_user = already_registered?(email) || user = self.save
      Participant.make(ar_user||user, board, role)
    end
    user
  end
Run Code Online (Sandbox Code Playgroud)

我对它做了这个rspec测试:

it "should return the user if the user is not already registered" do
     lambda do
      user = @new_user.can_save(@board, "Manager")
    end.should change(User,:count).by(1)
   end
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

  undefined method `id' for true:TrueClass
Run Code Online (Sandbox Code Playgroud)

这是为什么?

rspec ruby-on-rails-3

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

如何在数组Ruby中对对象进行分组

我有一系列经理用户.

但是有重复的用户.

我想将它们分组,以便阵列中每个用户只有一个实例.

最好的方法是什么?

@managers.sort_by{|obj| obj.id} # Just sorted the data but did not eliminate duplicats

@managers.group_by{|u|u.name}    # just created a bunch of arrays for each name
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails-3

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

ror,如何使正则表达式动态化?

鉴于这种:

if (params[:to].to_s =~ (/^r\+.*@site.com$/)) == nil
Run Code Online (Sandbox Code Playgroud)

如何使site.com动态: #{SITE_CONFIG['mail_host']}

我试过了

if (params[:to].to_s =~ (/^r\+.*@#{SITE_CONFIG['mail_host']}$/)) == nil
Run Code Online (Sandbox Code Playgroud)

哪个没用..想法?

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

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

在Rails中从模型中获取图像的路径

我正在使用一个名为Gmaps4Rails的模块的地图应用程序.使用这个gem我从我的模型中定义了图像的路径,并且可以根据我正在使用的图像的某些数据来获取它.它在开发环境中工作正常,但由于无法找到图像文件夹而导致生产中断.这就是代码在模型中的样子:

  def gmaps4rails_marker_picture

    {
    "picture" => "/images/oilpumpjack.png",
    "width" => "32",
    "height" => "32"
    }
  end
Run Code Online (Sandbox Code Playgroud)

有没有简单的方法从模型中获取正确的路径(我不想对其进行硬编码)?

此致,约翰

model ruby-on-rails-3

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