小编Jak*_*pyś的帖子

Rails 设备登录不起作用

我有一个问题 - 最近我用 devise gem 创建了用户。遗憾的是,“sign_in”按钮并没有真正正常工作 - 访问 sin_in 页面并单击“sign in”按钮后没有任何反应!如果我输入电子邮件和密码进行登录并不重要。我检查了日志,单击注册按钮后,日志中或运行服务器的终端上没有任何更改!所以我猜它不会发送任何请求?但问题仅在我第一次访问登录页面后出现,刷新后一切按预期工作。请帮助我,我不知道什么可能会导致这种奇怪的行为。

编辑:奇怪的是,我注意到只有在从主页前往登录页面后才会出现问题 - 如果我只需输入其地址而不是单击浏览器中的链接来进入登录页面,它就会起作用。但是两个操作之后的地址是相同的,所以我不知道......有我欢迎的观点:

<div id="homepage">
  <header class="cf">
    <h1 class="logo"><%= link_to "E-LEARN", "#" %></h1>
    <nav>
      <ul>
        <li><%= link_to "Watch guides", root_path %></li>
        <% unless user_signed_in? %>
          <li><%= link_to "Log In", new_user_session_path %></li>
        <% else %>
          <li><%= link_to "Log Out", destroy_user_session_path, method: :delete %></li>
          <li><%= link_to "Settings", edit_user_registration_path %></li>
          <li><%= link_to "My Account", current_user %></li>
        <% end %>
        <li><%= link_to "Add tutorial", "#" %></li>
      </ul>
    </nav>
  </header>
  <div class="wrapper-skinny" id="welc">
    <h1>Learn …
Run Code Online (Sandbox Code Playgroud)

ruby authentication ruby-on-rails devise

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

Rails 搜索 SQL 查询

我试图在我的 Rails 应用程序中创建搜索方法,但遗憾的是 - 我的 SQL 知识相当可悲。我设法通过以下方式找到了在描述中搜索文本的指南:

@guides = Guide.where(['description LIKE ?', "%#{params[:search]}%"])
Run Code Online (Sandbox Code Playgroud)

或在标题中:

 @guides = Guide.where(['title LIKE ?', "%#{params[:search]}%"])
Run Code Online (Sandbox Code Playgroud)

但我不知道如何同时查看标题和描述。请帮我解决这个问题。

此外,我将不胜感激任何学习 SQL 以在 Rails 应用程序中使用的来源的建议(我猜主要是 PostgreSQL?)。

ruby sql postgresql search ruby-on-rails

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

Golang将数组传递给函数并对其进行修改

在大多数语言(如c ++)中,传递数组会导致通过引用隐式传递它,因此对函数中传递的数组进行的任何更改都将导致更改原始数组。我正在学习Golang,在Alan AA Donovan和Brian W. Kernighan撰写的“ Go编程语言”一书中,它的行为不同于其他语言-不会隐式地通过引用传递数组。

这让我有些困惑-这是否意味着在没有引用的情况下传递数组不应该修改数组本身?让我说明一下:

func main() {
    tab := []int{1, 2, 3}
    fmt.Println(tab)
    // Results in [1 2 3]
    reverse(tab)
    fmt.Println(tab)
    // Results in [3 2 1]
}

func reverse(tab []int) {
    for i, j := 0, len(tab)-1; i < j; i, j = i+1, j-1 {
        tab[i], tab[j] = tab[j], tab[i]
    }
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,数组不是由引用传递的,但是反向函数会修改原始数组,因此它的工作方式有点像C ++程序那样。谁能解释我的区别?

PS:很抱歉,如果这是一个假的问题,我对Golang完全陌生,并且试图很好地理解基本知识。

c++ arrays reference go

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

标签 统计

ruby ×2

ruby-on-rails ×2

arrays ×1

authentication ×1

c++ ×1

devise ×1

go ×1

postgresql ×1

reference ×1

search ×1

sql ×1