问题标签 [actionview]

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 投票
1 回答
14533 浏览

ruby-on-rails - Rails form_tag 表单编写 - 使用非活动记录模型

我有点像 Rails 新手。我正在编写一个 couchrest-rails 应用程序,所以我没有为这个模型使用 activerecord。我刚刚发现这意味着

不会工作。我正在尝试弄清楚如何使用 form_tag ——但大多数示例不涉及 new & create 操作。

这是错误的:

因为当我运行 Cucumber 场景时,我得到了这个:

但我不明白这个错误,或者如何解决它。

0 投票
2 回答
2782 浏览

ruby-on-rails - 没有漂亮打印的 Rails XML 构建器(即缩小的 XML)

我正在使用 Builder::XmlMarkup 为 RESTful API 服务器生成 XML 格式的数据结构。

最近,我发现了一个错误,其中来自 Builder::XmlMarkup 的漂亮打印产生了一个充满空白文本的元素,而不是应有的空元素。

例如,这段代码:

正在生产:

当内部列表为空列表时,元素必须为空——即<list/> 或<list></list>。然而,实际的 XML 是一个 <list> 标记,其中填充了换行符和其他空格。

那么,我怎样才能完全消除 Builder 的漂亮打印呢?目前,我正在考虑猴子修补 Builder::XmlMarkup 以便初始化忽略:indent参数;虽然我也在考虑使用 after_filter。

0 投票
5 回答
7854 浏览

ruby-on-rails - 一个控制器,普通用户和管理员的不同视图

在我的应用程序中,我有一个“用户”模型。每个用户可以有多个(电子邮件)地址,这些地址在模型“地址”中定义:

在 AddressController 类中,当前登录的用户在“@user”实例变量中可用。控制器阻止普通用户编辑、删除、查看等不属于他们的地址 - 但他确实允许管理用户编辑这些地址。AddressController 类可以询问 AddressModel 当前登录的用户是在执行普通操作还是超级用户操作。

这一切都很好,并且数据库更新按预期进行,但是,我真的希望根据操作模式有不同的 HTML 视图。我只能想到两种方法来实现这一点:

  1. 使 AddressController 类中的操作模式(正常/特权)已知(使用实例变量,例如@privileged)并在视图中使用“if”语句。
  2. 在地址控制器中使用类似“after_filter”的东西来呈现不同的布局。

如果可以在两个完全不同的布局中显示执行单个控制器的结果,这取决于它的操作模式,那么有什么好的方法来实现呢?

在此先感谢斯特凡

0 投票
2 回答
133 浏览

ruby-on-rails - 表单动作乱码,Rails 2.3.3

我似乎有一个我无法为自己找到解决方案的问题,希望有人能提供帮助。

我有一个这样定义的表格:

我有一个名为@leads 的资源(map.resource :leads)

但是当我查看它生成的页面的 HTML 代码时,我看到以下表单操作

Lead.%23%3Clead:0x10333e858%3E 作为表单操作确实有效,但是 rails 不知道在更新后如何处理它。有谁知道我怎样才能使它成为一个正常的 URL,以便 rails 可以在更新后再次重定向?

非常感谢 问候, 马可

0 投票
5 回答
8116 浏览

ruby-on-rails - 如何停止在编辑时预先填充密码字段?

我的 Rails 应用程序中一直有这个问题,我仍然需要正确的解决方案。每当用户编辑他们自己的记录时,都会填充密码字段。我怀疑它的 Firefox 在编辑操作中设置 @user.password = nil 没有帮助。

问题是未填充密码确认,因此由于不匹配而导致验证失败。

我尝试了以下方法:

但这并没有。我也试过:autofill => 'off'哪个也不起作用。

有人有什么建议吗?谢谢。

0 投票
1 回答
5432 浏览

ruby-on-rails - 具有多个嵌套模型的 Rails 表单会导致无线电组出现问题

我在包含单选按钮的嵌套模型表单中遇到问题,当我有多个模型时,所有单选按钮都被视为在同一组中。

我的模型包含这样的 has_many 关系:

然后我有一个使用创建OrderItem模型表单的部分

包含在这个表单中的是一组在 for 循环中创建的单选按钮

当只有一个孩子时,这很好用,但是一旦我插入多个孩子,所有单选按钮都属于同一个组,因为它们都具有相同的属性name="order[order_items_attributes][][colour_id]"。这都是在一个新的模型表单上,所以我不能使用数组索引(name="order[order_items_attributes][0][colour_id]"),因为 Rails 给出了expected Hash (got Array) for param 'order_items_attributes' 我对最后一部分的错误,错误是因为我混合了索引和非索引名称属性。添加索引值是解决这个问题的关键。

以下是params[:order]仅存在一个嵌套模型时的哈希内容:

当存在两个嵌套模型时:

如您所见,只有第一个order_item具有它的 colour_id 属性。无论所选单选按钮属于哪个模型,都会发生这种情况(这是有道理的)。

如何渲染单选按钮,以便为每个子模型创建一个单独的组?

0 投票
3 回答
821 浏览

ruby-on-rails - 如何创建输入模型的多个项目的表单?

我有一个用 ruby​​ 和 rails 和 hobo 编写的简单的销售点应用程序。

最初打算当时只针对一种产品,现在客户希望将多种产品添加到销售模型中

除此之外,我使用品牌对产品进行分类,并且在我的新销售表格中,我使用 ajax 在另一个选择菜单中选择品牌后填充选择产品方法。

所以我想要的是使用我当前的系统,如果可能的话,只需更改我的新销售表格即可将多个产品添加到销售中

0 投票
3 回答
3439 浏览

ruby-on-rails - 从数据库加载 ruby​​ on rails 模板

我想知道是否有办法将 ruby​​ on rails 视图文件存储到数据库存储中并直接从那里获取。原因是我想创建一个将所有用户数据存储在数据库中的 CMS,因此我希望将模板存储在数据库中,但仍保留整个 ActionView 机制。

0 投票
4 回答
3609 浏览

ruby-on-rails - rails/ruby - 如何拯救 ActionView::TemplateError

我正在测试一个使用 rails 构建的应用程序,并且不时出现错误

当它发生时,会发生 ActionView::TemplateError 并登录到 log/production.log

我如何抓住它和 f.ex。每当它发生在应用程序的某个地方时,通过电子邮件发送给自己?

最好的方法是什么?

前任 在具有某种 before_filter 的 ApplicationController 中?

代码是,我想

这接近事实吗?以及如何获得“错误消息”?

谢谢你

0 投票
2 回答
236 浏览

ruby-on-rails - 为什么 link_to 没有把我带到我想去的地方?

我有一个模型“资产”,在展示页面上,我有这个:

{ :controller 'looks', :action => 'whatever' } %>

'looks' 控制器和 'whatever' 动作都存在。

现在,当我进入第二个资产的显示页面并单击测试链接时,我收到此错误:

处理 AssetsController#2 (for 127.0.0.1 at 2009-12-03 17:09:57) [POST] 参数:{"authenticity_token"=>"aLGRq+ZVulWbwC09m1dy7Mj9b9AgSJqkwiS99SLk6uk="} 用户负载 (0.6ms) SELECT * FROM "users " WHERE ("users"."id" = '1') LIMIT 1

ActionController::UnknownAction(没有动作响应2。动作:创建、销毁、索引、新建、接收和显示):/usr/lib/ruby/gems/1.8/gems/chriseppstein-compass-0.8.17/lib/ compass/app_integration/rails/action_controller.rb:7:in process' haml (2.3.0) lib/sass/plugin/rack.rb:44:incall' /usr/lib/ruby/1.8/webrick/httpserver.rb:104:in service' /usr/lib/ruby/1.8/webrick/httpserver.rb:65:inrun'/usr/lib/ruby/1.8/webrick/server.rb: 173:在start_thread' /usr/lib/ruby/1.8/webrick/server.rb:162:in开始'/usr/lib/ruby/1.8/webrick/server.rb:162 :在开始' start_thread' /usr/lib/ruby/1.8/webrick/server.rb:95:in/usr/lib/ruby/1.8/webrick/server.rb:92 :在开始each' /usr/lib/ruby/1.8/webrick/server.rb:92:in'/usr/lib/ ruby/1.8/webrick/server.rb:23:in start' /usr/lib/ruby/1.8/webrick/server.rb:82:instart'

渲染救援/布局 (not_found)

所以很明显,它把我引向了一个动作,这个动作被命名为我来自哪个节目的asset_id。如果有帮助,我正在使用 authlogic 和 compass gems。我会很感激任何帮助。