问题标签 [actionpack]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
295 浏览

ruby-on-rails - 如何解决rails应用中使用actionpack的冲突问题

我来到这里是我寻求问题答案的最后手段。我的 rails 应用程序依赖于 ruby​​-2.0.0 和 rails 4.1.4(虽然我可以回到以前的版本,但不是为了解决问题而必须这样做),我正在尝试使用gem 'dotiw', '~> 1.1.1'依赖于[actionpack][1] (~> 3). 来自控制台的以下消息将更好地理解问题。运行 $ 后终端中的消息报告bundle install

正如您已经看到的那样,我删除了我的Gemfile.lock并再次安装了捆绑包。作为我的问题的解决方案,我可以做的是更改我的rails版本或gem 'dotiw', '~> 1.1.1'更改前者会影响我的问题,而减少后者的版本将弃用某些功能。另外我不明白为什么gem 'dotiw', '~> 1.1.1' 没有更新它以支持最新版本的 actionpack,或者更好地继续更新以支持它的依赖项的所有未来版本。

0 投票
3 回答
1198 浏览

ruby-on-rails - Rails 4.1.2 - to_param 转义斜杠(并破坏应用程序)

我在我的应用程序to_param中使用创建自定义 URL(此自定义路径包含斜杠):

问题是,由于Rails 4.1.2行为发生了变化并且 Rails 不允许在 URL 中使用斜杠(当使用自定义 URL 时),所以它转义了斜杠。

我有这样的路线:

根据线程中的建议尝试将 glob 参数仅用于 show 方法以确保其有效:

但这绝对行不通。我仍然有这样的断开链接:

当然,如果我自己替换转义斜线:

并尝试访问路径,然后页面将被打开。

任何想法我该如何解决?

0 投票
3 回答
675 浏览

ruby-on-rails - 删除后 Rails 重定向失败。(删除成功但不显示剩余记录)

当用户调用 users_path 视图时,所有用户都会在显示中正确呈现。

但是,我也在删除后重定向到索引。控制台显示 200 Ok 但未呈现索引。

尝试单步执行一些 rails 代码,看起来在删除之后,rails 会进行隐式渲染。在调用索引视图的第一种情况下,它不会这样做。

视图/用户/index.rb

users_controller.rb

..... users_controller.rb ...

有任何人知道什么可能导致重定向到静默停止

0 投票
1 回答
2887 浏览

ruby-on-rails - 动作包中的 Rails SystemStackError(堆栈级别太深)

今天我的 Ruby on Rails API 出现错误,我无法弄清楚问题所在。每当我尝试在我的控制器中创建一个新角色时,我总是得到一个 SystemStackError 并且我不知道为什么。我将在下面发布相关文件。

characters_controller.rb

路线.rb

character.rb (我的模型)

我得到的错误(堆栈跟踪)是:

任何帮助表示赞赏,因为我不知道如何处理这个问题:) 谢谢

编辑:每当我尝试再次发送相同的请求时,我都会收到不同的错误:

第 11 行是:

0 投票
1 回答
78 浏览

ruby-on-rails - 在行动之外设置“respond_to”

我想在行动之外设置“respond_to”部分的行动。

这是它应该如何工作的示例:

早些时候我为此使用了response_for gem,但它不再受支持。您可以建议哪些解决方案?我使用 Rails 4.2。

0 投票
1 回答
35 浏览

ruby-on-rails - rails route helpers 在哪里以及基于什么模板定义?

像user_path这样的Rails URL 辅助方法是动态定义的,但具体在哪里呢?

它们属于哪个模块/类/类路径?

0 投票
1 回答
849 浏览

ruby-on-rails - 从中间件渲染“内部”Rails 控制器

我有一个 Rails 中间件堆栈,并且我在 ActionDispatch 之外有一块 MW。理想情况下,我想通过触发内部URL (无法通过通常的 URL 路由访问)来使用 ActionDispatch 呈现页面 - 类似于 Devise 呈现“身份验证失败”页面的方式。最好的办法是只在应用程序中按名称触发一个特定的控制器操作,并返回它的渲染结果(甚至没有在路由中)。

这样做的标准现代方式是什么?

更新

0 投票
1 回答
202 浏览

ruby-on-rails - 新的(干净的)Rails 项目崩溃(动作包错误)

我刚刚创建了一个 Rails 项目:rails new project -d mysql

et 修改 database.rb 以匹配,当我尝试 rails s -b 0.0.0.0 end access to local.dev:3000 (vagrant machine) 我有一个问题。

谢谢您的帮助

0 投票
1 回答
888 浏览

ruby-on-rails - 活动管理员:无法访问显示/编辑页面

我在使用 Active Admin 时遇到问题。以下是版本:

  • 红宝石'2.2.1'

  • 导轨'4.2.0'

  • 活动管理员:1.0.0.pre1

  • arbre:1.0.3(提到这个是因为它似乎与我的问题有关)

我们升级到 rails 4.2 并且还必须升级 activeadmin(从 0.5 开始)。经过几次调整(尤其是授权系统),一切似乎都很好,除了一个大问题:我只能访问索引页面。当转到带有 ID 的页面时(例如:“ http://localhost:3000/admin/companies/2968 ”),我收到此错误:

没有路由匹配 {:action=>"edit", :controller=>"admin/companies", :format=>nil, :id=> #{User id: nil, [all user attributes with nil value]}}。缺少必需的键:[:id]

看起来 param[:id] 以某种方式更改为空用户,这当然会使其中断。

这是我所知道的:

  • 在我的 ApplicationController 上放置 binding.pry 并检查参数时,我得到 {:action=>"edit", :controller=>"admin/companies", :format=>nil, :id=>2968} (所以这里没问题)

  • 引发错误的行是:

active_admin/resource/show.html.arb

-> arbre/元素/builder_method.rb#insert_tag

-> arbre/元素/builder_method.rb#build_tag

-> actionpack/actiondispatch/journey/formatter#generate(调用此方法时,path_parameters ID 值已损坏,从而引发错误)

知道为什么我的 ID 参数没有被正确解释/我可以在哪里进一步查看?

编辑 >> 我的 routes.rb 中有这个

并且生成的路由看起来很好用 rake 路由(在这个特定的例子中,我有 admin/companies#edit admin_company GET /admin/companies/:id(.:format)

EDIT2 >> 如果不清楚,所有节目页面都会发生这种情况。如果我去http://localhost:3000/admin/projects/例如,它工作正常,但http://localhost:3000/admin/projects/23815 也给了我 id = empty user

0 投票
1 回答
848 浏览

ruby-on-rails - Rails 坚持在响应中返回 html

我一直在尝试配置 rails restful API 服务。

我已经使用Rails-API设置了项目,并使用this添加了令牌身份验证。我的目标是所有响应都是 JSON 格式,这就是我认为 rails-api 将要完成的

运行 devise rake 生成器后,我尝试与注册端点交互,我curl对服务器的这个请求进行了交互:

我得到这个回复:

该页面在呈现时只是一个异常跟踪:

呈现的 html 响应

在服务器输出中,这些行显示actionpack中间件仍在转储他的错误、未请求的跟踪 html:

我想了解的是如何完全禁用所有内容的 html 响应

供参考,这是我的Gemfile

这是我的routes.rb

我的用户模型: