Я использую полиморфизм для создания комментариев для моделей статей, профилей и фотографий. Вот вид на моей выставке страницы статьи:Использование polyorphic_path, получение ошибки «undefined method» merge »
<div id="comment <%= comment.id %>">
<%= comment.title %>
| <%= link_to "Permalink", polymorphic_path(@commentable, comment), :action => :show %>
| <%= link_to "Reply", polymorphic_path(comment, @comment_child), :action => :new %>
| <%= link_to "Edit Comment", polymorphic_path(@commentable, comment), :action => :edit %>
| <%= link_to 'Delete Comment', [@commentable, comment], :confirm => "Are you sure?", :method => :delete %><br />
<%= comment.content %><br />
<%= comment.user.name %><br /><br />
<%= render :partial => 'comments/comment', :collection => @comment.children %>
</div>
Вот статья «шоу» контроллер:
def show
@article = Article.find(params[:id])
@commentable = Article.find(params[:id])
@comments = @commentable.comments.paginate(:page => params[:page])
@comment = Comment.new
@title = @article.title
end
на этой линии появляется ошибка:
| <%= link_to "Permalink", polymorphic_path(@commentable, comment), :action => :show %>
но я что эта ошибка присутствует во всех других строках, которые используют полиморфный_path. Он работает, если я обмениваю polyorphic_path на article_comment_path.
Большое спасибо за помощь.
Почему я не могу upvote это больше! –