尝试:我的应用程序有3个业务类别:业务开发,业务财务和业务管理。
我有一个索引视图localhost:3000 / categories,它显示了所有上述业务类别的链接。
它们链接到新操作和新视图。在该视图中,我有以下表单代码:
New.html.erb
<div align="center">
<h1>What are your important <%= @category.bizdev %> Action items?</h1>
<%= form_for @category do |f| %>
<p>
<p>Store Answer Below:</p>
<%= f.text_field :name, :size => 40, :style => 'height: 40px' %>
</p>
<p>
<%=f.submit 'Save action item' %>
</p>
<% end %> </div>
在线:<h1>What are your important <%= @category.bizdev %> Action items?</h1>
我正在努力获得3个业务类别(业务开发,业务财务,业务管理)中的行列表1。
我尝试在模型之间创建关系:名称和类别。
我无法在新视图中为表单显示相应的业务类别。然后,我需要表单将数据提交到相应的类别视图(我一直试图这样做)。
分类控制器:
class CategoriesController < ApplicationController
def index
@categories = Category.all
end
def new
@category = Category.new
@bizdev = Name.new
Name.@bizdev = "Business Development"
end
def create
@category = Category.new(category_params)
@category.save
redirect_to facilitates_path
end
def show
@category = Category.find(params[:id])
end
def destroy
end
private
def category_params
params.require(:category).permit(:answer)
end
end
名称模型
class Name < ActiveRecord::Base
belongs_to :category
end
CategoriesHelper
module CategoriesHelper
def bizdev
bizdev = Name.new
Name.bizdev = "Business Development"
end
end
类别模型
class Category < ActiveRecord::Base
has_many :names
end
索引视图
<h1>Select A Business Category To Begin Identifying Action Items</h1>
<ol><li><%= link_to 'Business Admin', 'new' %></li><br><br>
<li><%= link_to 'Business Development/Marketing', 'new' %></li><br><br>
<li><%= link_to 'Financial', 'new' %></li>
</ol>
<%= link_to 'Store random action items', new_facilitate_path %><br><br>
<%= link_to 'See a list of already stored action items', facilitates_path %>
的routes.rb
Rails.application.routes.draw do
resources :facilitates
resources :categories
root 'categories#index'
get 'show' => 'facilitates#show'
get 'index' => 'categories#index'
get 'new' => 'categories#new'
get 'bizadmstor' => 'categories#bizadmstor'
get 'bizdevstor' => 'categories#bizdevstor'
get 'bizfinstor' => 'categories#bizfinstor'
get 'bizadmshow' => 'categories#bizadmshow'
get 'categories/show' => 'categories#show'
get 'categories/new' => 'categories#new'
答案 0 :(得分:1)
这Name.@bizdev
显然是错误的。我想你正在尝试下一步:@category.names << @bizdev
。
助手也不正确:
bizdev = Name.new
bizdev.name = "Business Development" # i guess you have name property of this model
一般来说 - Name
不是班级的实例,而是班级本身。您可以定义其属性,只能对某个类的实例执行此操作,例如本例中的bizdev
。
在您的示例中,您不需要课程Name
,您需要类别类别的属性name
。或者,如果你应该是一个类,它也应该有属性名称,以返回它。这个@category.bizdev
将返回一个类,而不是一些值。如果@category.bizdev.name
是属性,则应为@category.bizdev
或bizdev
。
答案 1 :(得分:0)
自己想出来 - 在分类模型中创建:
def name
"Business Development"
end
然后在视野中,称为:@category.name
所以 - 我必须在我的类别模型中创建一个名为name的方法,它只是编写“业务开发”。然后,我通过新视图中的@category.name
调用它。