Ruby on rails Can';t为railscast#102自动完成创建虚拟属性
我不明白我做错了什么 我遵循修订后的铁路标准102的指示 我有一篇示范文章:Ruby on rails Can';t为railscast#102自动完成创建虚拟属性,ruby-on-rails,autocomplete,mass-assignment,Ruby On Rails,Autocomplete,Mass Assignment,我不明白我做错了什么 我遵循修订后的铁路标准102的指示 我有一篇示范文章: belongs_to :category def category_name category.try(:name) end def category_name=(name) self.category = Category.find_by_name(name) end Category.rb: has_many :articles 创建\u类别迁移:
belongs_to :category
def category_name
category.try(:name)
end
def category_name=(name)
self.category = Category.find_by_name(name)
end
Category.rb:
has_many :articles
创建\u类别迁移:
def change
create_table :categories do |t|
t.string :name
t.timestamps
end
end
创建文章:
def change
create_table :articles do |t|
t.string :name
t.text :content
t.integer :category_id
t.timestamps
end
end
和_表单中的代码:
<div class="field">
<%= f.label :category_name %><br />
<%= f.text_field :category_name %>
</div>
编辑
我的日志:
Started PUT "/articles/4" for 127.0.0.1 at 2012-10-16 00:59:44 +0300
Processing by ArticlesController#update as HTML
Parameters: {"utf8"=>"тЬУ", "authenticity_token"=>"YDPlS//tXg6Adl1npEEyNNBMZI0
a7hW8bV5XFPmRre4=", "article"=>{"name"=>"112312", "category_name"=>"asdasd"}, "c
ommit"=>"Update Article", "id"=>"4"}
←[1m←[35mArticle Load (0.0ms)←[0m SELECT "articles".* FROM "articles" WHERE "
articles"."id" = ? LIMIT 1 [["id", "4"]]
←[1m←[36m (0.0ms)←[0m ←[1mbegin transaction←[0m
←[1m←[35mCategory Load (0.0ms)←[0m SELECT "categories".* FROM "categories"
WHERE "categories"."name" = 'asdasd' LIMIT 1
←[1m←[36m (0.0ms)←[0m ←[1mcommit transaction←[0m
Redirected to http://127.0.0.1:3000/articles/4
Completed 302 Found in 16ms (ActiveRecord: 0.0ms)
因此,这似乎是在节约,但我并不认为:
<p>
<b>Category:</b>
<%= @article.category %>
</p>
类别:
给我空白。要使这一行正常工作,请将这一行添加到
文章
模型中
attr_accessible :category_name
如果您已经尝试过,请确保在调用迁移后重新启动web服务器。谢谢。表单正在提交,但不知何故记录没有保存到db。。。你能说明原因吗?检查日志中的验证错误。if article.save是否返回true?请仔细检查日志。请张贴你如何保存它。(今晚晚些时候我会看一看)似乎method-getter工作不正确。我确实看到了带有类别id的文章,但getter的工作是错误的。如果你以后有时间的话,请看一下。我解决了我的问题。(一切正常)
<p>
<b>Category:</b>
<%= @article.category %>
</p>
attr_accessible :category_name