小编Zip*_*pie的帖子

替换Ruby on Rails 3.1中的'auto_link'方法

我on Rails的3.0.7使用Ruby,我知道,在3.1版本中都不会有的auto_link方法了(见ActionPack的/ lib目录/ ACTION_VIEW /助理/ text_helper.rb的回报率3.1).

还有另一种方法可以使用与旧auto_link方法类似的功能吗?也就是说,我如何在Ruby on Rails 3.1中替换那个有用的方法?

顺便说一句:为什么这个auto_link方法会被删除?

ruby methods replace ruby-on-rails ruby-on-rails-3

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

在一个动作中渲染不同的视图

我想在我的rails应用程序中为同一帖子提供两种视图.例如 - 在登录用户可以更新和编辑帖子的一个用户中,任何用户都可以只查看它并对其进行评论或选择它.

我该怎么办呢?我需要一个单独的课吗?我知道我需要一个单独的视图,但模型和控制器怎么样?

model-view-controller ruby-on-rails class view ruby-on-rails-3

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

从Linux删除.rbenv

我怎么能完全卸载 rbenv

我想安装rvm,我想rbenv完全摆脱,所以他们不会发生冲突.

这是我到目前为止所做的:

  1. rm -rf ~/.rbenv

  2. 清除了添加到我~/.profile文件中的所有行

  3. 关闭并重新打开我的shell

但仍然留下一个rbenv命令行工具,所以当我运行时rbenv我获得与以前相同的输出,所有选项,减去我之前安装的所有ruby版本.

编辑:

当我跑,which rbenv我得到usr/bin/rbenv.从那里删除它是否安全?

ruby linux ruby-on-rails rbenv

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

Rails模型哈希,排除属性

我试图形成一个看起来像这样的json响应:

{
  "user": {
    "birthday": "2013-03-13",
    "email": "example@example",
    "id": 1,
    "name": null,
    "username": "example"
  },
   "other_data": "foo"
}
Run Code Online (Sandbox Code Playgroud)

之前,当我刚回到用户时,我用过

render :json => @user, :except => [:hashed_password, :created_at, :updated_at]
Run Code Online (Sandbox Code Playgroud)

保持hashed_pa​​ssword,created_at和updated_at属性不被发送.有没有办法做到这一点,但也允许与用户一起发送其他数据?现在我只是逐个添加我想要发送到哈希的属性,但这显然不太理想.

json ruby-on-rails

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

多次别名一个方法

我希望为一个原始方法添加两个别名,但我没有看到alias_method一次执行多个别名的能力,而是一个接一个.

那么是否有可能改变这种情况:

alias_method :aliased_first_method, :first_method
alias_method :aliased_first_method?, :first_method
Run Code Online (Sandbox Code Playgroud)

这样的事情:

alias_method [:aliased_first_method, :aliased_first_method?], :first_method
Run Code Online (Sandbox Code Playgroud)

我对创建自定义方法不感兴趣.

ruby alias-method

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

"\ 2"在正则表达式的末尾是什么意思

我有以下任务:

歌曲的单词位于名为stairway.txt的文件中.在此命令之后将打印以下哪一行:

grep -E '(^.{4})(.{2}).*[ ]\2' stairway.txt

(a) Yes, there are two paths you can go by but in the long run

(b) Its just a spring clean for the May queen.

(c) Don't be alarmed now.

(d) If there's a bustle in your hedgerow.

(e) Theres still time to change the road you're on.
Run Code Online (Sandbox Code Playgroud)

我不明白\2最后的意思是什么?

regex linux bash

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

嵌套属性:尽管有reject_if:All_blank,但不需要的验证

我是rails的新手所以非常感谢任何建议.

我有一个带有嵌套属性地址的类Entry,

/app/models/entry.rb

class Entry < ActiveRecord::Base
  has_many :addresses, :dependent => :destroy
  accepts_nested_attributes_for :addresses,
                                :allow_destroy => true,
                                :reject_if => :all_blank
end
Run Code Online (Sandbox Code Playgroud)

像这样的类地址

/app/models/address.rb

class Address < ActiveRecord::Base
  belongs_to :entry
  validates :zip, :presence => true
end
Run Code Online (Sandbox Code Playgroud)

我以嵌套的形式

/app/view/entries/_form.html.slim

= simple_form_for(@entry) do |f|
  = f.error_notification
  - @entry.addresses.build
  .form-inputs
    = f.simple_fields_for :addresses do |address|
      = render 'address_form', :f => address
Run Code Online (Sandbox Code Playgroud)

我们的想法是,在呈现表单时,除了数据库中列出的当前地址之外,"build"还将创建一个空的"地址".保存更改后,如果创建的新地址仍为空,则会被拒绝并且不会保存到数据库中.

但是,address.rb中的验证在保存之前进行验证,因此用户无法继续执行保存操作.有什么我遗漏的吗?

validation ruby-on-rails nested-attributes

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

是不是可以使用块语法更新模型属性?

new和create有一个块语法,如下所示:

 user = User.create do |u|
    u.name = "David"
    u.mail = "dhh@rails.com"
 end
Run Code Online (Sandbox Code Playgroud)

是否存在在Rails 3和Rails 4中用于更新属性的块语法?就像是:

  user = User.where(name: "David").first

  user.update_attributes do |u|
    u.mail = "dhh@rubyonrails.com"
  end
Run Code Online (Sandbox Code Playgroud)

也许不是,update_attributes但类似的东西.我一直在Github上搜索网络和Rails 4源码,我认为没有这样的事情.我错了吗?

PS我不是在寻找制作任何猴子补丁方法或类似的东西,只是感兴趣,如果有一个默认的方法ActiveRecord.

activerecord ruby-on-rails ruby-on-rails-3 ruby-on-rails-4

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

CSS需要语法

我在许多RubyOnRails应用程序中多次需要CSS样式表,实际上我需要一些揭秘的东西.

有什么区别:

//=require mystyles
Run Code Online (Sandbox Code Playgroud)

*=require mystyles
Run Code Online (Sandbox Code Playgroud)

两者似乎都有效,那有什么区别?

这是资产管道的一部分还是SASS的一部分还是普通的CSS?

ruby-on-rails sass asset-pipeline

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

<br />不在Firefox中工作

我正在写一些代码,并希望在两个输入之间有一些空间,并且<br />在Firefox中不起作用:

<input type="text" id="X_Axis" /><br />
<input type="text" id="Y_Axis" />
Run Code Online (Sandbox Code Playgroud)

无的<br />,<br/>,</br>工作.

PS我没有在任何其他浏览器中尝试过,所以它可能不是Firefox,正如我想的那样.

html css firefox

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