小编Tom*_*man的帖子

在Rails中生成slugs(人类可读ID)的最佳方法

你知道,比如myblog.com/posts/donald-e-knuth.

我应该使用内置parameterize方法吗?

插件怎么样?我可以想象一个插件很适合处理重复的slug等.这里有一些流行的Github插件 - 有没有人对它们有任何经验?

  1. http://github.com/rsl/stringex/tree/master
  2. http://github.com/norman/friendly_id/tree/master

基本上看起来slu is是一个完全解决的问题,我不会重新发明轮子.

ruby-on-rails slug

61
推荐指数
7
解决办法
5万
查看次数

测试变量是否等于两个值中的任何一个

我想测试是a等于1 还是 2

我可以

a == 1 || a == 2
Run Code Online (Sandbox Code Playgroud)

但这需要重复a(这对于较长的变量会很烦)

我想做类似的事情a == (1 || 2),但显然这不会奏效

我能做到[1, 2].include?(a),这并不坏,但让我觉得有点难以阅读

只是想知道如何使用惯用的红宝石

ruby

56
推荐指数
5
解决办法
2万
查看次数

从模型中访问CanCan的`can?`方法

您可以current_user使用can?以下方式从视图或控制器获取权限:

  <% if can? :update, @article %>
    <%= link_to "Edit", edit_article_path(@article) %>
  <% end %>
Run Code Online (Sandbox Code Playgroud)

如何使用以下语法从模型访问此功能:

user.can?(:update, @article)
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails cancan

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

获取AJAX响应主体以用于错误回调

jQuery的AJAX错误函数具有以下参数:

error(XMLHttpRequest, textStatus, errorThrown)
Run Code Online (Sandbox Code Playgroud)

获得响应机构的最佳跨浏览方式是什么?

这是否有效(在所有浏览器中都可靠)?

$.ajax({
  error: function(http) {
    alert(http.responseText);
  }
});
Run Code Online (Sandbox Code Playgroud)

ajax jquery

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

在不同的分支上重播最后N个git提交

当我打算将它们提交给分支"master"时,我意外地在分支"测试"上做了10次提交."测试"分支上的其他提交是垃圾,所以我不想将它与"master"合并.相反,我只想重播master上的最后10次提交.

git version-control commit

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

奇怪的"406不可接受"的错误

当我尝试通过Javascript尝试此操作时,出现406 Not Acceptable错误:

  def show
    @annotation = Annotation.find_by_id(params[:id])

    respond_to do |format|
      format.html {
         if @annotation.blank?
           redirect_to root_path
         else
           redirect_to inline_annotation_path(@annotation)
         end
       }

       format.js {
         if params[:format] == "raw"
           render :text => @annotation.body.to_s
         else
           render :text => @annotation.body.to_html
         end
       }
    end
  end
Run Code Online (Sandbox Code Playgroud)

这是来自jQuery,但我在发送之前做的正确:

  $.ajaxSetup({ 
    beforeSend: function(xhr) {
      xhr.setRequestHeader("Accept", "text/javascript");
    },
    cache: false 
  });
Run Code Online (Sandbox Code Playgroud)

这是我的请求标题:

Host    localhost:3000
User-Agent  Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3
Accept  text/javascript
Accept-Language en-us,en;q=0.5
Accept-Encoding gzip,deflate
Accept-Charset  ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive  300 …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails

41
推荐指数
3
解决办法
4万
查看次数

Ruby中的参数化get请求?

如何GET在Ruby中使用参数发出HTTP 请求?

当你正在做的时候很容易做到POST:

  require 'net/http'
  require 'uri'

  HTTP.post_form URI.parse('http://www.example.com/search.cgi'),
                 { "q" => "ruby", "max" => "50" }
Run Code Online (Sandbox Code Playgroud)

但我认为没有办法将GET参数作为哈希使用传递'net/http'.

ruby get ruby-on-rails http

38
推荐指数
4
解决办法
5万
查看次数

在控制台中测试路由

我必须做什么,这将在控制台中工作(假设song明确定义):

edit_song(:id => song.id)
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails

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

jQuery.fn.empty()和jQuery.fn.html('')之间有什么区别?

两者之间有什么区别吗?

$("#header").empty()
Run Code Online (Sandbox Code Playgroud)

$("#header").html('')
Run Code Online (Sandbox Code Playgroud)

另外,我应该使用哪个?$("#header").empty()更具可读性,但有什么比这更快的$("#header").html('')

jquery

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

ruby on rails如何工作?

我是一名熟悉Ruby的PHP开发人员.我想学习Ruby on Rails,但是我遇到的大部分资源都将RoR功能视为"神奇" - 即它具有一定的内部一致性,但是不要问它是如何工作的, MySQL等

无论如何,我想深入了解RoR的工作原理,构建它的设计决策等等.特别是我对ActiveRecord感兴趣,但我真的在寻找整个包.

欢迎任何书籍/网站/建议.

ruby ruby-on-rails

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

标签 统计

ruby-on-rails ×6

ruby ×3

jquery ×2

ajax ×1

cancan ×1

commit ×1

get ×1

git ×1

http ×1

slug ×1

version-control ×1