首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多态关联rails 3缺少路径帮助器

多态关联rails 3缺少路径帮助器
EN

Stack Overflow用户
提问于 2012-02-07 10:22:13
回答 1查看 154关注 0票数 0

我看过许多关于如何在rails中创建多态关联的教程,但似乎无法使其正常工作。到目前为止,我在多态关联上遵循了Ryan Bates tutorial,并且我一直收到以下错误消息:

我正在尝试为我的博客文章添加标签,但不想使用插件

我得到了错误

代码语言:javascript
复制
undefined method `tags_path' for <class>

Routes.rb

代码语言:javascript
复制
resources :blog do
  resources :tags
end

标签的_form.html.erb

代码语言:javascript
复制
<%= form_for([@taggable, @tag]) do |f| %>

<div class="field">
  <%= f.label :name %><br />
  <%= f.text_field :name %>
</div>
<div class="actions">
  <%= f.submit %>
</div>

tag.rb

代码语言:javascript
复制
class Tag < ActiveRecord::Base
  belongs_to :taggable, :polymorphic => true
end

blog.rb

代码语言:javascript
复制
class Blog < ActiveRecord::Base
  has_many :tags, :as => :taggable
 end

迁移文件

代码语言:javascript
复制
class CreateTags < ActiveRecord::Migration
  def self.up
    create_table :tags do |t|
      t.string :name
      t.string :taggable_type
      t.integer :taggable_id

      t.timestamps
    end
  end

  def self.down
     drop_table :tags
  end
end

tags_controller.rb

代码语言:javascript
复制
  def index
   @taggable = find_taggable
   @tags = @taggable.tags
  end

  def find_taggable
      params.each do |name, value|
          if name =~ /(.+)_id$/
              return $1.classify.constantize.find(value)
          end
      end
      raise ActiveRecord:NoRecord.new("Couldn\'t find it captain!")
  end
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-07 10:38:50

您可以使用polymorphic_url、details

代码语言:javascript
复制
polymorphic_url([@blog, @tag])

或者只使用像https://github.com/mbleigh/acts-as-taggable-on这样的标记gem

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9170187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档