2013-02-20 41 views
56

Tôi đang cố gắng tạo một khối mã ruby ​​cho thời điểm người dùng nhấp vào nút quay lại. Tôi nhận được lỗi "phương thức undefined` stringify_keys 'cho "/ projects/11/steps/4": String ". Mã này hoạt động khi tôi loại bỏ việc làm và kết thúc. Làm cách nào để thêm một liên kết vào một liên kết_to?Đường ray - Phương thức chưa xác định `stringify_keys '

<%= link_to 'Back', project_step_path(@project, @project.steps.count-1), :class => "btn btn-small" do %> 

    <% end %> 

Trả lời

129

Nếu bạn đang sử dụng dạng khối link_to bạn không thể có nội dung văn bản (khối là nội dung văn bản của bạn). Bạn cần thực hiện việc này:

<%= link_to project_step_path(@project, @project.steps.count-1), :class => "btn btn-small" do %> 
    Back 
<% end %> 

Thông thường, điều này được sử dụng khi bạn muốn có hình ảnh hoặc thẻ khác làm nội dung của liên kết. Đó là hoàn toàn cho mục đích hiển thị. Khối sẽ không cung cấp cho bạn chức năng giống như javascript, vì vậy hãy đảm bảo hành vi hiển thị bổ sung là những gì bạn đang tìm kiếm tại đây :)

+3

tác phẩm này, cảm ơn! Tôi sẽ chấp nhận câu trả lời của bạn khi stackoverflow cho phép tôi trong 11 phút ... – scientiffic

+0

Cảm ơn bạn! Khi sử dụng 'slim' thật kỳ lạ khiến bạn không phải mở khối. – igorgue

9

Nếu bạn vượt qua một khối thì không vượt qua tên liên kết. Nên là:

<%= link_to project_step_path(@project, @project.steps.count-1), :class => "btn btn-small" do %> 
    Back 
<% end %> 
Các vấn đề liên quan