О стандартных помощниках маршрутизации, есть ли избыточность? - PullRequest
0 голосов
/ 28 мая 2011

Предполагая post = Post.first, я могу написать ссылку с

link_to "First Post", post  # I guess Rails here understand to which model the
                            # object "post" belongs

Но для редактирования поста ссылка

link_to "Edit First Post", edit_post_path(post)

Можно ли написать что-то вроде:

link_to "Edit First Post", post, :type => :edit

чтобы не было необходимости указывать, к какой модели принадлежит объект? Разве это не будет СУХОЙ?

Ответы [ 2 ]

0 голосов
/ 28 мая 2011

Это возможное решение, которое я реализовал.В application_helper.rb добавьте метод:

def edit_path(item, other = {})
  send("edit_#{item.class.to_s.downcase}_path", item, other)
end

Так что теперь я могу создавать ссылки редактирования с:

link_to "Edit Post", edit_path(post)
link_to "Edit User", edit_path(user)

вместо

link_to "Edit Post", edit_post_path(post)
link_to "Edit User", edit_user_path(user)

Я чувствую, что этоСУШКА, но, возможно, это только я.

0 голосов
/ 28 мая 2011

Вы можете использовать method и action вместо type

См. Документацию

Пример:

link_to "Profile", :controller => "profiles", :action => "show", :id => @profile
# => <a href="/profiles/show/1">Profile</a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...