【问题标题】:Ruby on Rails - showing all instances in a view, with specific column value, returned by other table columnRuby on Rails - 显示视图中的所有实例,具有特定列值,由其他表列返回
【发布时间】:2016-10-30 13:10:14
【问题描述】:

首先,我的架构如下所示:

create_table "categories", force: :cascade do |t|
t.text     "name"
t.text     "slug"
end

create_table "fields", force: :cascade do |t|
t.integer  "order"
t.string   "title"
t.text     "tipo"
t.text     "values"
t.integer  "sub_category_id"
end
add_index "fields", ["sub_category_id"], name: "index_fields_on_sub_category_id"

create_table "sub_categories", force: :cascade do |t|
t.integer  "category_id"
t.text     "name"
t.text     "slug"
end
add_index "sub_categories", ["category_id"], name: "index_sub_categories_on_category_id"

这是我的架构,一个类别有很多 sub_categories,一个 sub_category 有很多字段。我试图生成一个包含特定 sub_category 的所有字段的视图,我已经将 sub_category.id 传递给了这个视图,但这就是我所能做的。

这并不像我想象的那么难,但我是一个初学者。我该怎么做?路线也是一个问题,因为我必须创建一个新的控制器功能。但是我的应用程序生成的路由已经如下所示: "/sub_categories/mysubcategory56/visualizeform?sub_category=56"

【问题讨论】:

  • 您是否正在尝试渲染 sub_category 的显示动作?如果是这样,请发表您的观点。您可能必须按照这些思路执行 sub_category.fields.each 。
  • 谢谢,我解决了。现在我在根据表字段值生成表单本身时遇到问题。我试图区分输入类型,如助手内的 text_field、text_area、check_box,我使用 case-when 结构和 html += 但是当我在助手内调用 f.text_field 时,我得到一个未定义的方法 text_field 错误喜欢。你有什么建议?
  • 查看实际代码比描述代码更容易帮助您。

标签: ruby-on-rails ruby model-view-controller web sqlite


【解决方案1】:

你试过在每张桌子上做一个 for 吗?或者试试

<%= for category.sub_category.each do |subcateg| %>
  #for getting all subcategories of a category
  <%= for subcateg.fields.each do |fields| %>
  #for getting al fields in every category and printing them
	<%= fields.order %>
	<%= fields. title %>
	<%= fields.tipo %>
	<%= fiels.values %>
	<%= fields.sub_category_id %>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多