2012-10-22 32 views
44

Tôi đang cố gắng để tạo kiểu một đường ray liên kết sử dụng css sử dụng đoạn mã sau:Thêm lớp css để ray link_to helper

<%= link_to "Learn More", :controller => "menus", :action => "index", :class => "btn btn-inverse" %> 

tôi sẽ hy vọng điều này sẽ tạo ra một liên kết giống như thế này:

<a href="menus/" class="btn btn-inverse">Learn More</a> 

Thay vào đó, đường ray được render này -

<a href="/menus?class=btn+btn-inverse">Learn More</a> 

có ai khác có vấn đề này/biết những gì tôi đang làm sai? Tôi biết tôi có thể tránh vấn đề này bằng cách tự tạo ra các thẻ neo thay vì sử dụng helper, nhưng tôi đã tự hỏi nếu có một cách để vượt qua các thông tin lớp css cho helper chính nó. Tôi đang sử dụng Rails 3.2.6.

Cảm ơn!

+0

Điều gì xảy ra với: class => ["btn", "btn-inverse"] hoặc: class =>% w "btn btn-inverse"? –

+2

Bạn cũng có thể sử dụng 'menus_path' làm đối số thứ hai cho' link_to' thay vì chỉ định bộ điều khiển và hành động. – James

+0

@ James - điều đó có hiệu quả. Cảm ơn! – Blake

Trả lời

86

Bạn có vấn đề về cú pháp. Hãy thử điều này thay vì:

<%= link_to "Learn More", {controller: "menus", action: "index"}, class: "btn btn-inverse" %> 

Some documentation for you to go further with the link_to Helper

Họ nói:

Hãy cẩn thận khi sử dụng phong cách lập luận cũ, như là một hash đen thêm là cần thiết:

link_to "Articles", { :controller => "articles" }, :id => "news", :class => "article" 
# => <a href="/articles" class="article" id="news">Articles</a> 

Rời khỏi băm cho sai nk:

link_to "WRONG!", :controller => "articles", :id => "news", :class => "article" 
# => <a href="/articles/index/news?class=article">WRONG!</a> 

tôi khuyên bạn nên sử dụng helper URL tạo ra sau cấu hình tuyến đường của bạn. Trong trường hợp của bạn:

link_to "Learn More", menus_path, :class => "btn btn-inverse" 

Một lời nhắc nhở nhỏ trên Helpers tạo:

# routes.rb 
resources :users 

# any view/controller 
users_path #=> /users 
edit_user_path(user) #=> /users/:id/edit 
user_path(user) #=> /users/:id (show action) 
new_user_path(user) #=> /users/new 
+1

Ah, tôi đã bỏ lỡ băm đó. Đó chính xác là những gì tôi đang tìm kiếm, cảm ơn! – Blake

+0

vâng, tôi biết - nó làm cho bạn chờ đợi một vài phút từ khi bạn đặt câu hỏi. thêm hai phút nữa! – Blake

2

Hãy thử ước tranh luận mới:

<%= link_to 'Learn More', 'menus#index', class: 'btn btn-inverse' %> 
0

tôi giải quyết vấn đề của tôi bằng cách này

<%= link_to image_tag("imageexamplo.png", class: 'class or id examplo css'),{controller: "user" , action: "index"}%> 
Các vấn đề liên quan