小编JUl*_*der的帖子

在rails中,Turbo只是将服务器的响应附加到当前页面的末尾

问题:Turbo 只是将服务器的响应附加到当前页面的末尾。没有像预期那样替换页面。

最近从 Rails 6 升级到 7。我还从 importmap 切换到 esbuild。

我有一个正在向创建方法发布帖子的表单。控制器响应

  if @stamp.save       
        redirect_to stamps_path, notice: "Input saved"
      else
Run Code Online (Sandbox Code Playgroud)

发生的奇怪的事情是响应从顶部附加到源代码的底部。因此,在原始源代码的末尾附加了响应中的新头部部分,如下所示

<...> The whole initial html <...>
</body>
<title>Page title</title> <-- The server response gets appended after </body>
<meta .... the whole page gets repeated again
Run Code Online (Sandbox Code Playgroud)

不太确定要在这里向您展示什么,一直在研究所有设置等。我从未见过 Turbo 有这样的响应行为。

source "https://rubygems.org"
git_source(:github) { |repo| "https://github.com/#{repo}.git" }

ruby "3.1.2"
gem "rails", "~> 7.0.2", ">= 7.0.2.4"
gem "sprockets-rails"
gem "puma", "~> 5.6"
gem "haml-rails", "~> 2.0"
gem "sqlite3", "~> 1.4"
gem 'devise', '~> …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails hotwire-rails turbo-frames ruby-on-rails-7

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

Rails 5:rails c 错误时不显示行号

我正在运行 Rails 5,从 4.2.x 升级

在控制台中,当运行失败的方法时,错误不会显示行号,我只能看到:

Traceback (most recent call last):
NoMethodError (undefined method `[]' for nil:NilClass)
Run Code Online (Sandbox Code Playgroud)

我确保development.rb具有:

config.log_level = :debug
Run Code Online (Sandbox Code Playgroud)

我的宝石文件:

source 'https://rubygems.org'

  gem 'rails',              '5.1.2'     # mothership
  gem 'bootstrap-sass'                  # crutches
  gem 'sass-rails'                      # Use SCSS for stylesheets
  gem 'devise'                          # login/sessions
  gem 'devise-i18n'                     # login/sessions
  gem 'haml'                            # markup language
  gem 'uglifier',           '>= 1.3.0'  # Use Uglifier as compressor for JavaScript assets
  gem 'coffee-rails'
  gem 'jquery-rails'                   # Use jquery as the JavaScript library
  gem 'bcrypt',             '~> 3.1.7' …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails irb rails-console ruby-on-rails-5

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

Rails 使模型方法显示为属性

我有一个连接到 Postgres 数据库的模型。

class Person < ApplicationRecord

  def say_id
    "#{name} has id: #{id}"
  end

end
Run Code Online (Sandbox Code Playgroud)

我有一些属性 id、name、email 以及上面的方法:say_id 可以通过以下方式访问:

person = Person.new
person.id => 1
person.say_id  => "John has id: 1"
Run Code Online (Sandbox Code Playgroud)

我希望将方法“say_id”也列为属性,现在运行 person.attributes 时,我只看到:id、name、email

如何将我的方法作为完整的可列出信息包含在内,就像 person.attributes 一样,但它将包含我的方法?一个用例是懒惰地将所有这些字段放置在 Person 对象的表中。

ruby activerecord ruby-on-rails

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

如何在Github Desktop中重做"撤消最近提交"

我想解锁我的最后一次提交,然后在Repository菜单中点击"undo most recent commit".发生的事情是提交消失了以及提交中的所有文件.我在文件字段中留下'0 Changes',我回来了两个月的更改.

如何获取该提交中的FILES?

git github github-desktop

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